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实现网页上的浮动广告的简单方法
Jun 14 Javascript
JS画线(实例代码)
Nov 20 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
Jun 30 Javascript
Javascript代码实现仿实例化类
Apr 03 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
May 17 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
Jul 17 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 Javascript
mockjs+vue页面直接展示数据的方法
Dec 19 Javascript
JavaScript进阶(一)变量声明提升实例分析
May 09 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实现smarty模板无限极分类的方法
2015/12/07 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
浅谈webpack对样式的处理
2018/01/05 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
python读取word文档的方法
2015/05/09 Python
Django实现表单验证
2018/09/08 Python
Python 串口读写的实现方法
2019/06/12 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python加速程序运行的方法
2020/07/29 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
EntityManager都有哪些方法
2013/11/01 面试题
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python
nginx结合openssl实现https的方法
2021/07/25 Servers
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python