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 相关文章推荐
Yii-自定义删除确认弹框(zyd)jquery实现代码
Mar 04 Javascript
Javascript 按位左移运算符使用介绍(
Feb 04 Javascript
javascript if条件判断方法小结
May 17 Javascript
javascritp添加url参数将参数加入到url中
Sep 25 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
利用JS实现一个同Excel表现的智能填充算法
Aug 13 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
Vue中常用rules校验规则(实例代码)
Nov 14 Javascript
JS实现秒杀倒计时特效
Jan 02 Javascript
Vue学习之axios的使用方法实例分析
Jan 06 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 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 操作excel文件的方法小结
2009/12/31 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
Vue性能优化的方法
2020/07/30 Javascript
python追加元素到列表的方法
2015/07/28 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python同时替换多个字符串方法示例
2019/09/17 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
python中return不返回值的问题解析
2020/07/22 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
任意存:BOXFUL
2018/05/21 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
公司庆典邀请函范文
2014/01/13 职场文书
群众路线对照检查剖析材料
2014/10/09 职场文书
董事长秘书工作总结
2015/08/14 职场文书
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript