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 事件处理、鼠标拖动效果实现方法详解
May 11 Javascript
Bootstrap创建可折叠的组件
Feb 23 Javascript
JS 数字转换为大写金额的简单实例
Aug 04 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
原生JS实现层叠轮播图
May 17 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
小程序点击图片实现png转jpg
Oct 22 Javascript
解决vue打包报错Unexpected token: punc的问题
Oct 24 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验证码类 附调用方法
2016/06/24 PHP
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
Vue开发环境跨域访问问题
2020/01/22 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
跟老齐学Python之集合的关系
2014/09/24 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python 的类、继承和多态详解
2017/07/16 Python
python复制文件到指定目录的实例
2018/04/27 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
纪念建党演讲稿范文
2014/01/13 职场文书
工作说明书范文
2014/05/07 职场文书
企业负责人任命书
2014/06/05 职场文书
模具专业求职信
2014/06/26 职场文书
应届生自荐信
2014/06/30 职场文书
五四演讲稿范文
2014/09/03 职场文书
五五普法心得体会
2014/09/04 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
领导工作表现评语
2015/01/04 职场文书
员工手册董事长致辞
2015/07/29 职场文书
python程序的组织结构详解
2021/12/06 Python
Vue h函数的使用详解
2022/02/18 Vue.js