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>
  • 相关阅读:
    发一弹
    压缩图片
    页面返回并刷新页面
    贤心的WEB弹窗挺不错的
    SMS短信发送API 以后可以弄个短信验证了
    <many-to-one>的fetch属性
    AJAX技术
    中国土地所有权的属性
    Today 's check:mappingResource属性和mappingDirectoryLocations属性的使用
    Pattern类的中文版 菜鸟翻译 有错请纠
  • 原文地址:https://www.cnblogs.com/web-aqin/p/9848294.html
Copyright © 2011-2022 走看看