vue项目中使用scss的方法步骤


Posted in Javascript onMay 16, 2019

一 概述

随着sass/less等css预处理器的出现,编写css变的越来越有乐趣。所以现在越来越多的人在项目中喜欢使用scss或者less。(我自己就是一个)。由于最近在写一个vue项目。所以就把写项目期间每天的一些知识点写在博客里。所以最近的博客应该都会和vue有关。今天要和大家分享的就是如何在vue项目中引入scss(引入less也类似)

二 vue中引入scss

2.1 vue-loader

在讲如何在vue项目中使用scss之前,我们先来简单了解一个概念,那就是vue-loader。vue-loader是什么东西呢?vue-loader其实就是一个webpack的loader。用来把vue组件转换成可部署的js,html,css模块。所以我们如果要想再vue项目中使用scss,肯定要告诉vue-loader怎么样解析我的scss文件。

不了解webpack的同学可以先去自行百度。我这里就放一张图,看完大家可以也就能知道webpack能做些什么事情了。

vue项目中使用scss的方法步骤

2.2 loader配置

在webpack中,所有预处理器都要匹配相应的loader,vue-loader允许其他的webpack-loader处理组件中的一部分吗,然后它根据lang属性自动判断出要使用的loaders。所以,其实只要安装处理sass/scss的loader。就能在vue中使用scss了。

现在我们来安装sass/scss loader

npm install sass-loader node-sass --save-dev

2.3 为什么无需配置

我们前面说到,vue-loader允许能根据lang属性自动判断出要使用的loaders。它是怎么样做到的?有这么神奇嘛?我们下面来看一看最核心部分的源代码

exports.cssLoaders = function (options) {
 options = options || {}

 var cssLoader = {
  loader: 'css-loader',
  options: {
   minimize: process.env.NODE_ENV === 'production',
   sourceMap: options.sourceMap
  }
 }

 // generate loader string to be used with extract text plugin
 function generateLoaders (loader, loaderOptions) {
  var loaders = [cssLoader]
  if (loader) {
   loaders.push({
    loader: loader + '-loader',
    options: Object.assign({}, loaderOptions, {
     sourceMap: options.sourceMap
    })
   })
  }

  // Extract CSS when that option is specified
  // (which is the case during production build)
  if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader'
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }
 }

 // https://vue-loader.vuejs.org/en/configurations/extract-css.html
 return {
  css: generateLoaders(),
  postcss: generateLoaders(),
  less: generateLoaders('less'),
  sass: generateLoaders('sass', { indentedSyntax: true }),
  scss: generateLoaders('sass'),
  stylus: generateLoaders('stylus'),
  styl: generateLoaders('stylus')
 }
}

就是上述这段代码让vue-loader有了这种能力,它会根据不同的文件去使用不同的loader

2.4 使用scss

这样你就可以愉快的使用scss了。

<style scoped lang="sass">
   xxxx
   xxxx
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js substr、substring和slice使用说明小记
Sep 15 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
Oct 17 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
Dec 29 Javascript
jQuery on()绑定动态元素出现的问题小结
Feb 19 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
javascript简单写的判断电话号码实例
May 24 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
Vue指令指令大全
Feb 09 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
js设置默认时间跨度过程详解
Jul 17 Javascript
RxJS在TypeScript中的简单使用详解
Apr 13 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
Apr 30 Javascript
微信小程序云开发使用方法新手初体验
May 16 #Javascript
angular多语言配置详解
May 16 #Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 #Javascript
Django模板继承 extend标签实例代码详解
May 16 #Javascript
vue视图不更新情况详解
May 16 #Javascript
详解如何写出一个利于扩展的vue路由配置
May 16 #Javascript
Vue中props的详解
May 16 #Javascript
You might like
php 魔术函数使用说明
2010/02/21 PHP
PHP安全防范技巧分享
2011/11/03 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
JS简单实现登陆验证附效果图
2013/11/19 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python range与enumerate函数区别解析
2020/02/28 Python
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
医院后勤自我鉴定
2013/10/13 职场文书
生产管理的三大手法
2013/11/11 职场文书
个人四风对照检查材料
2014/09/26 职场文书
骨干教师考核评语
2014/12/31 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
修辞手法有哪些?
2019/08/29 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
Python中的 Set 与 dict
2022/03/13 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python