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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
JavaScript的parseInt 进制问题
May 07 Javascript
Jquery实现无刷新DropDownList联动实现代码
Mar 08 Javascript
javascript针对DOM的应用分析(四)
Apr 15 Javascript
多个checkbox被选中时如何判断是否有自己想要的
Sep 22 Javascript
dul无法加载bootstrap实现unload table/user恢复
Sep 29 Javascript
vue.js表格分页示例
Oct 18 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 Javascript
react开发教程之React 组件之间的通信方式
Aug 12 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 24 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 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编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js中的this关键字详解
2013/09/25 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python让函数不返回结果的方法
2020/06/22 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
EJB与JAVA BEAN的区别
2016/08/29 面试题
学前教育求职自荐信范文
2013/12/25 职场文书
家长写给孩子的评语
2014/04/18 职场文书
任命书怎么写
2015/03/02 职场文书
统招统分证明
2015/06/23 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
pytorch 实现多个Dataloader同时训练
2021/05/29 Python
asyncio异步编程之Task对象详解
2022/03/13 Python
解决Oracle数据库用户密码过期
2022/05/11 Oracle