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 相关文章推荐
IE不出现Flash激活框的小发现的js实现方法
Sep 07 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
Javascript alert消息换行的方法
Aug 07 Javascript
jQuery显示和隐藏 常用的状态判断方法
Jan 29 Javascript
javascript计时器详解
Feb 28 Javascript
js实现新年倒计时效果
Dec 10 Javascript
再谈javascript常见错误及解决方法
Sep 16 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
微信小程序微信支付接入开发实例详解
Apr 12 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
vue父子模板传值问题解决方法案例分析
Feb 26 Javascript
JQuery表单元素取值赋值方法总结
May 12 jQuery
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
基于mysql的论坛(1)
2006/10/09 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
JS中的三个循环小结
2017/06/20 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
基于mpvue小程序使用echarts画折线图的方法示例
2019/04/24 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
利用python实现汉诺塔游戏
2021/03/01 Python
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
四年级下册教学反思
2014/02/01 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL
java实现web实时消息推送的七种方案
2022/07/23 Java/Android