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更改class和id的方法
Oct 10 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
May 23 Javascript
从阶乘函数对比Javascript和C#的异同
May 31 Javascript
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
javascript浏览器兼容教程之事件处理
Jun 09 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
Apr 13 Javascript
微信小程序实现移动端滑动分页效果(ajax)
Jun 13 Javascript
vue.js 上传图片实例代码
Jun 22 Javascript
node中koa中间件机制详解
Aug 22 Javascript
[js高手之路]单例模式实现模态框的示例
Sep 01 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
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垃圾回收机制对内存泄露的处理
2013/06/14 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
javascript Base类 包含基本的方法
2009/07/22 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
vue--vuex详解
2019/04/15 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python程序设计入门(4)模块和包
2014/06/16 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
质量承诺书范文
2014/03/27 职场文书
倡议书的写法
2014/08/30 职场文书
公司收款委托书范本
2014/09/20 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
综合管理员岗位职责
2015/02/11 职场文书
广告业务员岗位职责
2015/02/13 职场文书
导游词之太原天龙山
2020/01/02 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python