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 相关文章推荐
[转]JS宝典学习笔记
Feb 07 Javascript
web 页面分页打印的实现
Jun 22 Javascript
基于JQuery制作的产品广告效果
Dec 08 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
使用javascript函数编写简单银行取钱存钱流程
May 26 Javascript
jquery使用FormData实现异步上传文件
Oct 25 jQuery
如何制作一个Node命令行图像识别工具
Dec 12 Javascript
javascript实现简易的计算器
Jan 17 Javascript
VUE中使用HTTP库Axios方法详解
Feb 05 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
thinkphp命名空间用法实例详解
2015/12/30 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
js 操作css实现代码
2009/06/11 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
python根据出生日期返回年龄的方法
2015/03/26 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
python3 下载网络图片代码实例
2019/08/27 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
Java基础知识面试题
2014/03/25 面试题
本科生自荐信
2014/06/18 职场文书
2014年中秋寄语
2014/08/11 职场文书
辞职信怎么写?
2019/05/21 职场文书
新手入门Mysql--概念
2021/06/18 MySQL
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server