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 相关文章推荐
28个JS验证函数收集
Mar 02 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
JS 实现 ajax 异步浏览器兼容问题
Jan 21 Javascript
JS回调函数简单用法示例
Feb 09 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
详解js加减乘除精确计算
Mar 19 Javascript
判断js数据类型的函数实例详解
May 23 Javascript
详解vue-cli3开发Chrome插件实践
May 29 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
Vue前端项目部署IIS的实现
Jan 06 Javascript
JS实现可控制的进度条
Mar 25 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打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
用python写asp详细讲解
2013/12/16 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
python归并排序算法过程实例讲解
2020/11/04 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
大学生作弊检讨书
2014/02/19 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
早上好问候语大全
2015/11/10 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
如何基于python实现单目三维重建详解
2022/06/25 Python