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报错 Object doesn't support this property or method的原因分析
Mar 31 Javascript
javascript动态加载二
Aug 22 Javascript
JavaScript中创建类/对象的几种方法总结
Nov 29 Javascript
JavaScript和CSS交互的方法汇总
Dec 02 Javascript
JS 作用域与作用域链详解
Apr 07 Javascript
Bootstrap每天必学之基础排版
Nov 20 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
Bootstrap对话框使用实例讲解
Sep 24 Javascript
js中的触发事件对象event.srcElement与event.target详解
Mar 15 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 Javascript
vue实现简单计算商品价格
Sep 14 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
SMARTY学习手记
2007/01/04 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
python实现ip查询示例
2014/03/26 Python
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
python中list列表的高级函数
2016/05/17 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
详解Python中的分支和循环结构
2020/02/11 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
大学学习生活感言
2014/01/18 职场文书
班级班风口号大全
2015/12/25 职场文书
react中的DOM操作实现
2021/06/30 Javascript
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python