首頁  >  文章  >  web前端  >  webpack如何配置sass模組的載入? (詳解)

webpack如何配置sass模組的載入? (詳解)

青灯夜游
青灯夜游轉載
2018-10-25 15:27:222965瀏覽

本篇文章帶給大家的內容是介紹webpack如何配置sass模組的載入? (詳解) 。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

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

sass的使用如下,例如:

  • 引入外部樣式,下面兩種寫法都可以使用:

import '../../css/test.scss'
require('../../css/test2.scss');
  • #在.vue檔中使用

<style lang="sass">
     //sass语法样式
</style>

以上是webpack如何配置sass模組的載入? (詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除