vue-cli + sass 的正确打开方式图文详解


Posted in Javascript onOctober 27, 2017

关于在vue-cli搭建的项目中怎么配置sass,网上搜到的基本是这种答案:

vue-cli + sass 的正确打开方式图文详解

但是我认为,直接将样式写在每个单文件的<style>里,是十分不明智的做法。且不说node-sass安装过程的各种坑,内嵌的<style>也让组件显得十分混乱。想象一下你在修改某个methods时必须拖动滚轮穿越几十上百行的css代码,又或者为了修改一组样式,却找不到对应的css文件,因为它们散布在vue文件里。。。

在我看来,正确的做法应该是单独管理sass文件,然后在main.js中直接引入编译好的css文件。像iView, ElementUI 都是采用这种做法。

如果你认同并且打算采用这种方式,看下面这个具体的例子:

vue-cli + sass 的正确打开方式图文详解

项目结构如上图,style文件夹下是分门别类的scss文件,方便管理和后期维护。然后在main.scss引入所有的scss样式片段,使用 sass --watch main.scss:main.css 命令监听并将scss文件编译为css文件。最后在main.js中引入main.css文件。这样你就可以直接在元素上添加class,然后在scss中畅快写样式了。

vue-cli + sass 的正确打开方式图文详解

当然我们不希望每次手动输入这些命令,初步想法是通过修改dev命令,:

vue-cli + sass 的正确打开方式图文详解

但是这样并不能达到效果,因为每次只会启动前一个命令。于是考虑到使用批处理来实现:

vue-cli + sass 的正确打开方式图文详解
vue-cli + sass 的正确打开方式图文详解

将这两个.bat放在根目录下,然后配置package.json:

vue-cli + sass 的正确打开方式图文详解

这样就可以使用 npm run dev 一键启动 hot reload 和 sass watch了。

总结

以上所述是小编给大家介绍的vue-cli + sass 的正确打开方式图文详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
AngularJS删除路由中的#符号的方法
Sep 20 Javascript
Javascript之面向对象--封装
Dec 02 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
Jul 21 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
Feb 15 jQuery
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
微信小程序使用前置摄像头拍照
Oct 22 Javascript
vue实现可移动的悬浮按钮
Mar 04 Vue.js
本地搭建微信小程序服务器的实现方法
Oct 27 #Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
Oct 27 #Javascript
浅析Javascript中双等号(==)隐性转换机制
Oct 27 #Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 #Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 #Javascript
vue-resource拦截器设置头信息的实例
Oct 27 #Javascript
Vue-resource拦截器判断token失效跳转的实例
Oct 27 #Javascript
You might like
Banner程序
2006/10/09 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
js中document.write的那点事
2014/12/12 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
JS中Location使用详解
2015/05/12 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
python创建文件备份的脚本
2018/09/11 Python
详解Python3中ceil()函数用法
2019/02/19 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
荷兰家电销售网站:Welhof
2020/12/08 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
解除劳动合同证明书
2014/09/26 职场文书
开业典礼致辞
2015/07/29 职场文书
学生会工作感言
2015/08/07 职场文书
节水宣传标语口号
2015/12/26 职场文书
python process模块的使用简介
2021/05/14 Python
整理Python中常用的conda命令操作
2021/06/15 Python
pandas中对文本类型数据的处理小结
2021/11/01 Python
Python装饰器的练习题
2021/11/23 Python