node-sass生产环境编译报错

 "node-sass": "^4.12.0",
 "sass-loader": "^8.0.2",

本地和local环境正常,pre和生产环境编译报错

local、pre、生产的编译环境一样,node版本都是14.16.1。拷贝本地node_modules文件夹到pre同样报错。

应该是node-sass和node的版本问题,但是又找不到问题,最后没办法把node-sass换成了sass

1、node-sass换成sass

"sass-loader": "^10.5.2",
"sass": "^1.55.0",

2、全局替换 /deep/ => ::v-deep

3、element兼容问题

"element-ui": "^2.15.13",
element这个版本会报错,有一些兼容问题
npm install -g sass-migrator
sass-migrator division ./node_modules/element-ui/packages/theme-chalk/src/*.scss  

//或者安装到项目里
npm install -D sass-migrator
./node_modules/.bin/sass-migrator division ./node_modules/element-ui/packages/theme-chalk/src/*.scss  

修改element-ui的包,但是其他人拉下来还是未修改的包,所以用到了 patch-package

npm install -D patch-package

然后在package.json中scripts加上,npm install的时候自动为依赖包打上我们改过的依赖

"postinstall": "patch-package"
 ./node_modules/.bin/patch-package element-ui 

会比较本地包做了哪些修改,并在patches下生成一个包,这个包会通过git提交上去

posted @ 2024-03-12 16:23  Jade_g  阅读(25)  评论(0编辑  收藏  举报