试图在另一台设备上就着node v16重新配置搭建了一遍electron-vue的环境,又踩了一些坑,不过理解也稍微深了一点。

总的概括就是——活用修改package.json

Node.js降级?

看到许多包出问题时,网上的解答大多都是给Node.js降级,我一开始也是这么做的,包需要哪个版本的node,我就装哪个版本的。

但是这样也带来一些问题——

  • 之前装一个什么东西说需要node v10,但是后面又变成v12,运行项目时仍是v10
  • Element-theme安装时告诉我要node v12以上,但运行et -i报错我又需要v11及以下,事实上因为本来是v12的环境,就还是会报错

所以现在我更倾向于升包的等级。

package.json中将某些包升级,再重新yarn

但有些包是依赖关系,比如说安装a包里的b包出错,

事实上,可以修改node_modules/a/package.json里面b包的版本,然后在node_modules/a目录下执行yarn

node-sass

这个无疑是装vue环境时最令人头秃的东西了,不仅需要你的nodejs版本对应,还需要你有msbuild v15和python2!

当然这些都有解决方法。

但在我实际搜索中发现,其实或许根本不需要node-sass

dart-sass作为更稳定、安装更方便的将 sass 编译成 css 的工具,是sass官方目前主推的,也会是未来的发展方向。

pakage.json里可以先将node-sass去除。然后通过yarn add sass -dev的方式,将dart-sass再加进去。

总结

作为node开发刚起步的小白,这只是我自己的一点思考,不代表一定正确,不过应该也会是一种解决方法。