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 相关文章推荐
jQuery学习2 选择器的使用说明
Feb 07 Javascript
javascript实现简单的二级联动
Mar 19 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
May 01 Javascript
JavaScript中的toDateString()方法使用详解
Jun 12 Javascript
JavaScript实现网页加载进度条代码超简单
Sep 21 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
基于js 本地存储(详解)
Aug 16 Javascript
详解关于element级联选择器数据回显问题
Feb 20 Javascript
关于在LayUI中使用AJAX提交巨坑记录
Oct 25 Javascript
js 图片懒加载的实现
Oct 21 Javascript
如何在vue 中引入使用jquery
Nov 10 jQuery
JavaScript声明变量和数据类型的转换
Apr 12 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
python实现代理服务功能实例
2013/11/15 Python
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python的互斥锁与信号量详解
2019/09/12 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
建筑院校毕业生求职信
2014/06/13 职场文书
海上钢琴师观后感
2015/06/03 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
字节飞书面试promise.all实现示例
2022/06/16 Javascript