node-sass和dart-sass区别(以及解决M1芯片/arm芯片无法使用node-sass的问题)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node-sass和dart-sass区别(以及解决M1芯片/arm芯片无法使用node-sass的问题)相关的知识,希望对你有一定的参考价值。
参考技术A 我们先用vue-cli举例在这时我们可以看到有两个sass解释器一个为node-sass,另一个为dart-sass。
这里建议选择大家使用dart-sass。而不要使用node-sass,下面我会解释一下为什么推荐大家使用dartsass。
单独安装和dart-sass或node-sass的命令先贴在下面
我们选择dart-sass很重要的一点就是 sass官方推荐使用dart-sass
往后的node-sass虽然会继续维护,但是不会再更新新功能。
不过就目前来说,node-sass在编译时依然比dart-sass拥有更好的性能(个人觉得编译时性能对开发不构成影响)。
国内网络对node-sass不太友好。
启动报错症状:
安装报错症状:
解决方案:
从package.json文件中找到node-sass删掉
然后使用命令安装dart-sass
问题原因:
这个问题的原因其实我们从node-sass的github上的版本中可以找到答案
可以看到都macOSX系统仅仅支持x64而M1芯片是arm64并不是x86。
也就是说如果我们的nodejs环境若为使用rosetta转译运行的x86 64位nodejs版本,那么就可以使用这个node-sass并且不会报错。
所以网上有些人说让回退nodejs版本,因为老版本nodejs不兼容arm64,那时候还没有M1芯片啊!QWQ。
老版本nodejs只能用resetta转译运行啊。
以上是关于node-sass和dart-sass区别(以及解决M1芯片/arm芯片无法使用node-sass的问题)的主要内容,如果未能解决你的问题,请参考以下文章
vue-cli 3中dart-sass替换node-sass
vue-cli 3中dart-sass替换node-sass