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 相关文章推荐
javascript下IE与FF兼容函数收集
Sep 17 Javascript
基于jquery实现图片广告轮换效果代码
Jul 07 Javascript
node.js 一个简单的页面输出实现代码
Mar 07 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
Dec 18 Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 Javascript
vue 利用路由守卫判断是否登录的方法
Sep 29 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
javascript实现数字时钟效果
2021/02/06 Javascript
python操作xml文件示例
2014/04/07 Python
python字符串替换的2种方法
2014/11/30 Python
用Python进行基础的函数式编程的教程
2015/03/31 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
超市采购员岗位职责
2014/02/01 职场文书
汽车促销活动方案
2014/03/31 职场文书
交通志愿者活动总结
2014/06/27 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python