【平头哥Sipeed LicheeRV 86 Panel测评】六、Windows构建Waft环境
[复制链接]
Waft开发者文档中,已经说明开发环境只支持Windows wsl。不过本人却不信邪,非要尝试一把再说。Win10环境中早就安装过NodeJS,于是,执行命令npm i waft-cli -g。
这个过程居然出奇的顺利,都没有提示npm版本过低。上一篇中提到过,本人在Ubuntu20.04的虚拟机中安装,要求npm版本为8.5.4。具体原因,我也说不清楚,猜想npm install主要也是下载模块的过程,可能有些版本会有兼容问题,而我机器上的版本正好兼容吧。
waft-cli安装成功其实也在本人的预料中,毕竟就是下载一些模块,而且主要都是js文件。不过接着运行waft init居然也出奇的顺利,一度都让我以为就要大功告成了。
在D盘随便建立一个目录,怕出问题,还以英文命名,然后进入cmd,执行“waft init”。建立工程其实还是npm下载各种模块的过程,所以这里也没有报错。
接着就是用VScode打开项目,然后通过“npm run start”运行了,我想这里再不出错,那就是官方文档太低估自己了。不过,果然这里出错了。
出于好奇,本人查看了npm中waft的执行脚本,原以为bin目录中是二进制格式文件,其实也是js脚本,所以猜想还是对js的解析上,windows平台会不兼容。
至此,在Windows环境直接运行waft的尝试失败了,于是按文档说明,转用WSL。这是win10提供的功能,即win环境下的Linux子系统。大概是本人新换的机器,Windows 10版本较新,系统已经自带了WSL,免去安装过程。直接下载Ubuntu20.04的镜像,就可使用了。
先以管理员身份运行“CMD”。然后执行“wsl -l”就可以列出支持的Linux虚拟机,我这里已经安装过了(当时没有截图),因此显示了版本信息。
具体安装过程参考官方指导即可,这里不赘述了。总之,安装后可以通过命令wsl直接接入linux shell,也可以在启动菜单中找到shell的快捷方式。
而且,这里还可以打开多个shell,就和真正的linux是一样的。
这里本人对WSL的使用走了一点弯路(直接造成凌晨2点才搞定)。我按照waft安装过程,先安装npm,再准备安装waft,最后运行waft init。
可是,第一步就出现了问题,安装NodeJS后,无法运行npm。后来发现是$PATH变量中已经将windows的环境变量添加了进来,所以npm会先找到windows中的版本,自然也出现格式错误的情况。通过一篇博文介绍,本人将NodeJS的安装路径添加到$PATH的前面,成功运行了Linux Shell下的npm。
接着,准备在wsl下安装waft-cli。当时已经是凌晨了,本人突然灵光一现(要不说深夜的bug最香呢):“在windows下,执行waft会报错,现在有了wsl,是不是可以直接在其中运行呢?”
于是,按照这个思路尝试,再次打开VScode,发现的确可以新建一个“WSL Shell”。VScode真实YYDS!
果断建立WSL shell,在最初建立的项目“my_cmd_test”中,运行npm run start,成功启动案例。
至此,windows建立waft开发环境结束,后续可以在windows做UI开发了。
本篇结束,说一下自己的思考。对waft初了解时,脑子就蹦出一个想法“为什么不直接把支付宝小程序转移过来呢?”毕竟这样技术成熟而且还有现成的IDE可用。后来,经过分析,猜想阿里是出于低成本平台的性能考虑,开发了轻量级的js内核。最后在waft的文档介绍中也的确看到了这样的叙述。而且介绍文档也看到了waft的发展历程,目前还是起步阶段,资料难免少些。阿里云上的Waft文档:https://developer.aliyun.com/article/787582?spm=a2c6h.24243666.J_6155380400.1.5a8a3b41JrXqVS
|