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 相关文章推荐
event.srcElement+表格应用
Aug 29 Javascript
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
Dec 06 Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
Feb 15 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 Javascript
JavaScript实现跟随滚动缓冲运动广告框
Jul 15 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
Jul 24 Javascript
Vue-resource拦截器判断token失效跳转的实例
Oct 27 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
vue实现短信验证码输入框
Apr 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一些公用函数的集合
2008/03/27 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
python多进程操作实例
2014/11/21 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
Python理解递归的方法总结
2019/01/28 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
面料业务员岗位职责
2013/12/26 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
2014年班主任工作总结
2014/11/08 职场文书
党员自评材料范文
2014/12/17 职场文书
英语教师个人总结
2015/02/09 职场文书
排球赛新闻稿
2015/07/17 职场文书
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS