美文网首页
webpack+sass

webpack+sass

作者: 萧玄辞 | 来源:发表于2018-01-06 11:14 被阅读0次

    我们希望用sass定义样式,为了正常编译,需要做如下配置。

    为了使用sass,我们需要安装sass的依赖包

    在项目下,运行下列命令行npm install --save-dev sass-loader//因为sass-loader依赖于node-sass,所以还要安装node-sassnpm install --save-dev node-sass

      当然了,使用样式的话,css-loader和style-loader也是必须的依赖包,如果没有安装,可以类似上述的方法安装

    css-loader使你能够使用类似@import 和 url(…)的方法实现 require()的功能;

    style-loader将所有的计算后的样式加入页面中;

      二者组合在一起使你能够把样式表嵌入webpack打包后的JS文件中。

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

    varExtractTextPlugin = 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文件进行加载,以及...声明的内部样式进行加载            {

                    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: [

            newExtractTextPlugin("style.css")//提取出来的样式放在style.css文件中    ]

        ....

    }

    sass的使用如下,例如:

    引入外部样式,下面两种写法都可以使用:

    import '../../css/test.scss'require('../../css/test2.scss');

    在.vue文件中使用

    //sass语法样式

    相关文章

      网友评论

          本文标题:webpack+sass

          本文链接:https://www.haomeiwen.com/subject/mzxynxtx.html