vue-cli构建项目使用 less的方法


Posted in Javascript onOctober 04, 2017

在vue-cli中构建的项目是可以使用less的,但是查看package.json可以发现,并没有less相关的插件,所以我们需要自行安装。

第一步:安装

npm install less less-loader --save-dev

即通过npm安装less和less-loader,并记录到devDependencies中,因为这是我们在开发中使用的而非在生产中使用,所以就不将之记录在 dependencies 中。

第二步:在配置文件中配置

实际上如果我们通过vue-cli来构建项目,这一步是可以省略的。

在webpack.dev.conf.js中,我们可以看到下面的代码:

module: {
  rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
 },

即webpack.dev.conf.js在合并了webpack.base.conf.js的基础上又添加了dev环境下的module。 

注意:在上面的代码中,我们还可以使用loaders来代替rules, 他们的含义是一样的。

在build文件夹下有一个utils.js文件,这个文件提供了一些通用的方法,供webpack.dev.conf.js和webpack.prod.conf.js使用。 其中styleLoaders方法如下:

// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
 var output = []
 var loaders = exports.cssLoaders(options)
 for (var extension in loaders) {
  var loader = loaders[extension]
  output.push({
   test: new RegExp('\\.' + extension + '$'),
   use: loader
  })
 }
 return output
}

通过这个方法可以对大多数css预处理进行了配置,具体配置在cssLoaders方法中。

第三步:在单组件.vue中使用

如下所示:

<template>
 <div class="hello">
  <h2>{{msg}}</h2>
  <h2>Essential Links</h2>
  <ul>
   <li>Core Docs</li>
  </ul>
  <h2>Ecosystem</h2>
 </div>
</template>

<script>
export default {
 name: 'hello',
 data: function () {
  return {
   msg: "Welcome to your vue.js app"
  }
 }

}
</script>

<style scoped lang="less">
 .hello {
  color: red;
  font-size: 0.45rem;
  h2 {
   color: blue;
  }
 }
</style>

需要注意一下几点:

1.已经在webpack中配置了,所以这里不需要引入任何less文件。

2.在style中声明lang="less"。 注意: scoped的作用仅仅是限定css的作用域,防止变量污染。

3.这样就可以根据less的语法使用了。

补充:通过下面的代码就不难理解问什么scoped可以隔离作用域了。 即给不同组件的所有html添加一个属性,然后在css中使用属性选择器来防止作用域的污染,实在聪明!!!

vue-cli构建项目使用 less的方法

把scoped去掉之后,我们就可以发现已经没有额外的属性了: 

vue-cli构建项目使用 less的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
Javascript面向对象编程(二) 构造函数的继承
Aug 28 Javascript
Javascript 颜色渐变效果的实现代码
Oct 01 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 Javascript
Vue上传组件vue Simple Uploader的用法示例
Aug 25 Javascript
vue.js实现三级菜单效果
Oct 19 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
原生JS实现无缝轮播图片
Jun 24 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
浅谈Angular2 模块懒加载的方法
Oct 04 #Javascript
浅谈angular2路由预加载策略
Oct 04 #Javascript
浅谈Angular路由复用策略
Oct 04 #Javascript
React-Native之定时器Timer的实现代码
Oct 04 #Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 #Javascript
无限循环轮播图之运动框架(原生JS实现)
Oct 01 #Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 #Javascript
You might like
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
分享php分页的功能模块
2015/06/16 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
javascript的函数
2007/01/31 Javascript
jQuery Validation实例代码 让验证变得如此容易
2010/10/18 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
浅析python打包工具distutils、setuptools
2018/04/20 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
详解Python 函数如何重载?
2019/04/23 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
python中类与对象之间的关系详解
2020/12/16 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
药学专业大学生自荐信
2013/09/28 职场文书
留学自荐信
2013/10/10 职场文书
销售心得体会
2014/01/02 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书