我们经常会在npm install项目之后,启动项目会报一个node-sass版本问题【这个的解决方案时,更新node-sass版本即可
方案一:命令行是npm install node-sass@4.5.3
方案二:
在package.json里修改node-sass和sass-loader版本然后在cnpm i安装依赖就可以解决】
替换的根本原因:node-sass难以下载指定版本的二进制依赖文件。
分析node-sass下载依赖的过程分析:
node-sass在安装过程中会根据本机的系统、node.js版本以及node-sass版本拼接成一个完整的下载路径,意味着若要满足所有版本的node-sass在所有系统和72_binding.node,否则引入全量的二进制依赖文件到不同版本的node-sass文件夹下,即在4.12.0目录下存一份win32-x64-72_binding.node,在4.14.0目录下也要存放一份win32-x64-72_binding.node,否则就无法下载到指定版本的二进制文件。
使用dart-node带来的好处及不足:
*好处:
1、不在依赖二进制文件即可完成安装,避免了node-sass安装失败的痛苦(尤其是node-sass版本与公司内部推荐的版不一致的情况)
2、允许使用sass和css新特性
3、避免工程其他依赖升级的不兼容node-sass导致报错的问题
*不足之处:
1、性能:由于node-sass使用C++实现的我样式预处理器,速度相比于纯Javascript实现Dart Sass要快
2、内存:执行编译过程中,Node Sass的内存占用也比Dart Sass要小很多
dart-sass代替node-sass过程执行的命令行:
1、npm uninstall node-sass
2、npm install sass -D