webpack配置sass模塊的加載

  webpack管理的項目,咱們但願用sass定義樣式,爲了正常編譯,須要作以下配置。這裏不講webpack的入門,入門的文章,我推薦這篇《webpack入門》。css

  爲了使用sass,咱們須要安裝sass的依賴包vue

//在項目下,運行下列命令行
npm install --save-dev sass-loader
//由於sass-loader依賴於node-sass,因此還要安裝node-sass
npm install --save-dev node-sass

  固然了,使用樣式的話,css-loader和style-loader也是必須的依賴包,若是沒有安裝,能夠相似上述的方法安裝node

  • css-loader使你可以使用相似@import 和 url(…)的方法實現 require()的功能;
  • style-loader將全部的計算後的樣式加入頁面中;

  兩者組合在一塊兒使你可以把樣式表嵌入webpack打包後的JS文件中。webpack

 

下面是webpack.config.js文件的部分配置:web

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文件中
    ]
    ....
}

 

sass的使用以下,例如:npm

  • 引入外部樣式,下面兩種寫法均可以使用:
import '../../css/test.scss'
require('../../css/test2.scss');
  • 在.vue文件中使用
<style lang="sass">
     //sass語法樣式
</style>
相關文章
相關標籤/搜索