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 相关文章推荐
极酷的javascirpt,让你随意编辑任何网页
Feb 25 Javascript
js 无提示关闭浏览器页面的代码
Mar 09 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
Dec 30 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 Javascript
JavaScript实现的DOM绘制柱状图效果示例
Aug 08 Javascript
AngularJS发送异步Get/Post请求方法
Aug 13 Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 Javascript
KOA+egg.js集成kafka消息队列的示例
Nov 09 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
WebRTC记录音视频流(web技术分享)
Feb 24 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 header()函数使用说明
2008/07/10 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
js生成的验证码的实现与技术分析
2014/09/17 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
关于layui导航栏不展示下拉列表的解决方法
2019/09/25 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
Python的多维空数组赋值方法
2018/04/13 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
Python中six模块基础用法
2019/12/08 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
Python中Qslider控件实操详解
2021/02/20 Python
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
公司年会抽奖活动主持词
2014/03/31 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
支行行长岗位职责
2015/02/15 职场文书
2015年司机工作总结
2015/04/23 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
Golang表示枚举类型的详细讲解
2021/09/04 Golang
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript