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 相关文章推荐
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
Aug 15 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
May 27 Javascript
Node.js编码规范
Jul 14 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
灵活的理解JavaScript中的this指向
Feb 25 Javascript
AngularJS控制器继承自另一控制器
May 09 Javascript
详解JavaScript设计模式开发中的桥接模式使用
May 18 Javascript
js 判断一组日期是否是连续的简单实例
Jul 11 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
判断颜色是否合法的正则表达式(详解)
May 03 Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
Jun 24 Javascript
浅谈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 空格,换行,跳格使用说明
2009/12/18 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
python如何快速拼接字符串
2020/10/28 Python
Python实现京东抢秒杀功能
2021/01/25 Python
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
物流专业大学生的自我鉴定
2013/11/13 职场文书
领导班子对照检查材料
2014/09/22 职场文书
公司2015年终工作总结
2015/05/26 职场文书
建党伟业的观后感
2015/06/01 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
Python中requests库的用法详解
2022/06/05 Python