webpack配置sass模块的加载的方法
webpack管理的项目,我们希望用sass定义样式,为了正常编译,需要做如下配置。这里不讲webpack的入门,入门的文章,我推荐这篇《webpack入门》。
为了使用sass,我们需要安装sass的依赖包
//在项目下,运行下列命令行 npminstall--save-devsass-loader //因为sass-loader依赖于node-sass,所以还要安装node-sass npminstall--save-devnode-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语法样式
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。