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 相关文章推荐
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
node.js中的buffer.toJSON方法使用说明
Dec 14 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
Aug 27 Javascript
JQuery实现网页右侧随动广告特效
Jan 17 Javascript
js设置文字颜色的方法示例
Dec 30 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
Oct 27 Javascript
jQuery实现checkbox的简单操作
Nov 18 jQuery
vue实现局部刷新的实现示例
Apr 16 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 Javascript
本地搭建微信小程序服务器的实现方法
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
php自动注册登录验证机制实现代码
2011/12/20 PHP
php网页病毒清除类
2014/12/08 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
js left,right,mid函数
2008/06/10 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
详解Python中的日志模块logging
2015/06/19 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python循环输出三角形图案的例子
2019/11/22 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
运动会广播稿500字
2014/01/28 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
员工辞职信怎么写
2015/02/27 职场文书
李强为自己工作观后感
2015/06/11 职场文书
2015年科普工作总结
2015/07/23 职场文书
React配置子路由的实现
2021/06/03 Javascript
python使用BeautifulSoup 解析HTML
2022/04/24 Python