今天自己搭建vue-cli框架,安裝了element-ui,運行沒有任何問題,修改了下樣式,為了避免修改ele里面組件的樣式出現(xiàn)樣式污染,想著裝個sass寫嵌套的,這樣既方便又能很好的解決問題,那么動起來:
1.安裝需要的依賴:
npm install node-sass --save-dev //安裝node-sass
npm install sass-loader --save-dev //安裝依賴包sass-loader
npm install style-loader --save-dev //安裝style-loader
2.在build文件夾下的webpack.base.conf.js的module下 rules里面添加配置
{
test: /\.sass$/,
loaders: ['style', 'css', 'sass']
},
3.然后在用到的頁面內(nèi)添加:
<style scoped lang="scss">
</style>
三個操作執(zhí)行完畢,npm run dev 跑起來,無情報錯 loaderContext.getResolve is not a function。
百度后發(fā)現(xiàn),是因為安裝的sass loader版本太高,降低版本即可,解決方案有兩個:
1.找到項目的package.json文件,將里面的 "sass-loader"的版本更換掉 。
"sass-loader": "^8.0.0",更換成了 "sass-loader": "^7.3.1",
注意這里需要將loader版本降低到8.0一下即可
PS:
新手特別需要注意,這里更換版本后,node_modules文件夾內(nèi)loader版本并沒有更改,需要刪除掉node_modules,重新進行npm install下載依賴,才算是解決問題了。
2.命令行解決:
npm uninstall sass-loader //卸載當前版本
npm install sass-loader@7.3.1 --save-dev //安裝低版本
歐啦