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 相关文章推荐
List the Codec Files on a Computer
Jun 18 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 Javascript
JS实现的另类手风琴效果网页内容切换代码
Sep 08 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 Javascript
Vue修改项目启动端口号方法
Nov 07 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
关于引入vue.js 文件的知识点总结
Jan 28 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
深入密码加salt原理的分析
2013/06/06 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
jQuery动态添加删除select项(实现代码)
2013/09/03 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
2016/06/17 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
2018/09/11 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
Python爬虫设置代理IP(图文)
2018/12/23 Python
对Python捕获控制台输出流的方法详解
2019/01/07 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
python框架django项目部署相关知识详解
2019/11/04 Python
如何在Python3中使用telnetlib模块连接网络设备
2020/09/21 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
医学院学生的自我评价分享
2013/11/19 职场文书
陈欧广告词
2014/03/14 职场文书
解除合同协议书
2014/04/17 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书