webpack配置sass模块的加载的方法


Posted in Javascript onJuly 30, 2017

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也是必须的依赖包,如果没有安装,可以类似上述的方法安装

  1. css-loader使你能够使用类似@import 和 url(…)的方法实现 require()的功能;
  2. 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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用JQuery进行跨域请求
Jan 25 Javascript
JavaScript生成GUID的多种算法小结
Aug 18 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
js获取时间函数及扩展函数的方法
Oct 30 Javascript
Angular中实现树形结构视图实例代码
May 05 Javascript
AngularJS中的路由使用及实现代码
Oct 09 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
Dec 14 Javascript
vue.js $refs和$emit 父子组件交互的方法
Dec 20 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
jquery实现动态添加附件功能
Oct 23 jQuery
了解前端理论:rscss和rsjs
May 23 Javascript
vxe-table vue table 表格组件功能
May 26 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 #Javascript
Vue的Flux框架之Vuex状态管理器
Jul 30 #Javascript
webpack实现热加载自动刷新的方法
Jul 30 #Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 #Javascript
Angular.js中上传指令ng-upload的基本使用教程
Jul 30 #Javascript
关于前后端json数据的发送与接收详解
Jul 30 #Javascript
jquery easyui如何实现格式化列
Jul 30 #jQuery
You might like
php数组比较实现查找连续数的方法
2015/07/29 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
基于jquery的3d效果实现代码
2011/03/23 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
wxPython的安装与使用教程
2018/08/31 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
英国医生在线预约:Top Doctors
2019/10/30 全球购物
法学专业个人求职信
2013/09/26 职场文书
前台岗位职责
2015/02/13 职场文书
三八妇女节寄语
2015/02/27 职场文书
后天观后感
2015/06/08 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
mysql的数据压缩性能对比详情
2021/11/07 MySQL