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 相关文章推荐
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
js中Math之random,round,ceil,floor的用法总结
Dec 26 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
jQuery插件datepicker 日期连续选择
Jun 12 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
JS留言功能的简单实现案例(推荐)
Jun 23 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
vue debug 二种方法
Sep 16 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
Nov 14 Javascript
Vue.js仿Select下拉框效果
Feb 18 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
PHP4之真OO
2006/10/09 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
原生javascript如何实现共享onload事件
2020/07/03 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
Python实现壁纸下载与轮换
2020/10/19 Python
飞利浦法国官网:Philips法国
2019/07/10 全球购物
仓库管理专业个人的自我评价
2013/12/30 职场文书
优质服务演讲稿
2014/05/14 职场文书
中职生求职信
2014/07/01 职场文书
医院营销工作计划
2015/01/16 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
Django migrate报错的解决方案
2021/05/20 Python