vue-cli 2.*中导入公共less文件的方法步骤


Posted in Javascript onNovember 22, 2018

在新版的Vue CLI 3中,如何导入公共less文件在文档里已经描述的很清楚了,但是在2.*的版本中,我没有查到相关的办法,网友的办法又相当复杂,于是我推荐给大家一个很简单的办法。

首先,会用到webpack中的资源预处理器Style Resources Loader,所以需要:

npm i style-resources-loader -D

然后在build/utils.js文件中可以找到CSS预处理器的实现方式:

function generateLoaders (loader, loaderOptions) {
 const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [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')
 }
}

简单的看下来就是需要哪种类型的样式就去加载对应的预处理器,因此只需要在加载less文件的情况下,多加一种Style Resources Loader预处理器就可以解决问题,所以只要加上如下代码,即可实现。

if (loader) {
  ...
 }
 if(loader == 'less'){
  loaders.push({
   loader: 'style-resources-loader',
   options: {
    patterns: path.resolve(__dirname, '../src/assets/config/*.less')
   }
  })
 }

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

Javascript 相关文章推荐
js tab效果的实现代码
Dec 26 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
May 10 Javascript
如何防止JavaScript自动插入分号
Nov 05 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
jQuery实现可移动选项的左右下拉列表示例
Dec 26 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
vue瀑布流组件实现上拉加载更多
Mar 10 Javascript
vue全局使用axios的方法实例详解
Nov 22 #Javascript
vue中的ref和$refs的使用
Nov 22 #Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 #Javascript
原生JS实现手动轮播图效果实例代码
Nov 22 #Javascript
js实现按钮开关单机下拉菜单效果
Nov 22 #Javascript
vue+node实现图片上传及预览的示例方法
Nov 22 #Javascript
微信上传视频文件提示(推荐)
Nov 22 #Javascript
You might like
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
python在非root权限下的安装方法
2018/01/23 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
迪奥官网:Dior.com
2018/12/04 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
介绍一下grep命令的使用
2012/06/28 面试题
外语系毕业生找工作的求职信
2013/11/28 职场文书
网站客服岗位职责
2014/04/05 职场文书
安全月宣传标语
2014/10/07 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
党员转正介绍人意见
2015/06/03 职场文书