zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/ww03/p/6037710.html
Copyright © 2011-2022 走看看