webpack配置sass模組的載入
阿新 • • 發佈:2020-07-17
webpack管理的專案,我們希望用sass定義樣式,為了正常編譯,需要做如下配置。這裡不講webpack的入門,入門的文章,我推薦這篇《webpack入門》。
為了使用sass,我們需要安裝sass的依賴包
//在專案下,執行下列命令列 npm install --save-dev sass-loader //因為sass-loader依賴於node-sass,所以還要安裝node-sass npm install --save-dev node-sass
當然了,使用樣式的話,css-loader和style-loader也是必須的依賴包,如果沒有安裝,可以類似上述的方法安裝css-loader使你能夠使用類似@import 和 url(…)的方法實現 require()的功能;style-loader將所有的計算後的樣式加入頁面中;
二者組合在一起使你能夠把樣式表嵌入webpack打包後的js檔案中。
下面是webpack.config.js檔案的部分配置:
var ExtractTextPlugin = require('extract-text-webpack-plugin');//css樣式從js檔案中分離出來,需要通過命令列安裝 extract-text-webpack-plugin依賴包 module.exports = { .... module: { loaders: [ //解析.css檔案 { test: /\.css$/, loader: ExtractTextPlugin.extract("style", 'css') }, //解析.vue檔案 { test: /\.vue$/, loader: 'vue' }, //解析.scss檔案,對於用 import 或 require 引入的sass檔案進行載入,以及<style lang="sass">...</style>宣告的內部樣式進行載入 { test: /\.scss$/, loader: ExtractTextPlugin.extract("style", 'css!sass') //這裡用了樣式分離出來的外掛,如果不想分離出來,可以直接這樣寫 loader:'style!css!sass' } ] }, //.vue檔案的配置,以下是為了在.vue檔案中使用ES6語法(必須安裝babel相關的依賴包),以及把使用css或sass語法的樣式提取出來,如果不需要可以忽略 vue: { loaders: { js: 'babel', css: ExtractTextPlugin.extract("css"), sass: ExtractTextPlugin.extract("css!sass") }, }, plugins: [ new ExtractTextPlugin("style.css") //提取出來的樣式放在style.css檔案中 ] .... }
字由https://www.wode007.com/sites/73248.html 中國字型設計網https://www.wode007.com/sites/73245.html
sass的使用如下,例如:
引入外部樣式,下面兩種寫法都可以使用:
import '../../css/test.scss' require('../../css/test2.scss');
在.vue檔案中使用
<style lang="sass"> //sass語法樣式 </style>