准备开始入门文档学习使用ssvm搭建nodejs应用,调用rust库创建小demo环境准备rust系统环境已经预装rust(rustc1.44.0),跳过部署生锈环境。PS:系统是ManjaroNode.js,没有nodejs环境,需要安装:yay-Snodejsnpm安装依赖yay-Scommunity/libcurl-gnutlsssvmtoolchain安装ssvm工具链:npminstallssvmup使用官方的npminstall-gssvmup遇到对于权限问题,可以使用--unsafe-perm安装ssvm安装ssvm:npminstallssvm开始构建HELLO程序选项,会安装到$HOME/.config/目录下,可以使用ln重新安装为ssvmup创建一个链接。但是,手动安装所需的第三方库似乎存在问题:[INFO]:Installingwasm-bindgen...thread'main'panicedat'called`Result::unwrap()`onan`err`value:Error{description:"Couldn\'tconnecttoserver",code:7,extra:None}',src/install/mod.rs:182:9简单搜索发现需要0.0才能联网,但我有网络,所以也许需要梯子?编译成功后:您的wasmpkg已准备好发布到/home/tmacy/ssvm-nodejs-starter/pkg。但是,启动服务时出现错误:nodenode/app.jsterminatecalledafterthrowinganinstanceof'std::filesystem::__cxx11::filesystem_error'what():filesystemerror:directoryiteratorcannotopendirectory:Nosuchfileordirectory[/usr/lib/x86_64-linux-gnu][1]2418864abort(coredumped)nodenode/app.js好像cxx11的链接有问题,可能是第三方动态库编译环境是ubuntu?官方环境要求0.0好像是有原因的,还是Docker大法好!尝试更改docker?不过网速不好,拖图片太慢了——!仔细想了想,直接建立软链接解决问题:sudoln-s/usr/lib/usr/lib/x86_64-linux-gnu最后输出想要的内容:curlhttp://127.0.0.1:3000/?name=WasmhelloWasm一个简单的web教学实例根据示例程序修改求两个数的最大公约数:主要rust代码src/lib.rs:pubfnsolve(params:&str)->String{让ps:(i32,i32)=serde_json::from_str(¶ms).unwrap();让解决方案:i32;solution=gcd(ps.0.abs(),ps.1.abs());returnserde_json::to_string(&solution).unwrap();}fngcd(mutu:i32,mutv:i32)->i32{如果你==0{返回v;}如果v==0{返回你;}让shift=(u|v).trailing_zeros();你>>=转移;v>>=转移;u>>=u.trailing_zeros();loop{v>>=v.trailing_zeros();ifu>v{//异或交换算法v^=你;你^=v;v^=你;}v-=你;//这里v>=u。如果v==0{中断;}}u<
