vue项目配置sass及引入外部scss文件


Posted in Vue.js onApril 14, 2022

配置sass及引入外部scss文件

配置sass

安装对应依赖node模块

npm install node-sass --save-dev
npm install sass-loader --save-dev

引入外部scss文件

在main.js中引入需要的scss文件

vue项目配置sass及引入外部scss文件

如果显示错误为如下图所示

vue项目配置sass及引入外部scss文件

打开webpack.base.config.js,删除掉注释部分的代码。因为vue-cli 项目里面配置了编译scss的,只要你装node-sass 和sass-loader,不需要自己添加配置。

记住此时需要重启项目 npm run dev

vue项目配置sass及引入外部scss文件

踩过的坑 Vue引入Sass文件

问题:在使用vue cli 3.0开发自己网页的过程中,想把CSS样式单独抽离出来,因为Sass的嵌套写法显得层次十分清晰,所以我个人是十分喜欢的。

但是在CSS样式单独抽离形成文件之后再引入,发现只有第一层样式作用上了。

问题来了,为什么呢?

CSS
.section{
	/*  只有这层作用上了 */
	width: 500px;
	height: 500px;
	background-color: #409EFF;
	
	.header{ 
		width: 500px;
		height: 100px;
		background-color:#67C23A
	}
	
	.main{
		width: 500px;
		height: 300px;
		background-color:#E6A23C;
	}
	
	.footer{
		width: 500px;
		height: 100px;
		background-color:#F56C6C;
	} 
}

首先我尝试了在vue文件中直接写Sass样式,结果是可以作用上的,但是为什么单独抽离出来没作用?

然后再把命令运行一次

npm install --save-dev node-sass sass-loader style-loader

vue cli 3.0 之后就没有config.js、build等文件或文件夹,所以不用配置,直接使用就可以了。

命令运行完之后还是不行。

于是开始百度,隐隐约约感觉到问题出现在引入的时候,而不是解析的时候。

百度 @import url("./xxx.sass") 和 @import “./xxx.sass” 的区别

得到官方答案

Sass支持原生的CSS@import,sass会尝试找到对应的sass文件并导入进来,但在下列三种情况下会生成原生的CSS@import:

  • 被导入文件的名字以.css结尾
  • 被导入文件的名字是一个URL地址(比如http://www.sass.hk/css/css.css),由此可用谷歌字体API提供的相应服务;
  • 被导入文件的名字是CSS的url()值。

这就是说,你不能用sass的@import直接导入一个原始的css文件,因为sass会认为你想用css原生的@import。但是,因为sass的语法完全兼容css,所以你可以把原始的css文件改名为.scss后缀,即可直接导入了。

所以造成一开始Sass文档解析不正确。

Vue.js 相关文章推荐
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
一篇超完整的Vue新手入门指导教程
Nov 18 Vue.js
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
vue监听滚动事件的方法
Dec 21 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
解决vue中provide inject的响应式监听
Apr 19 Vue.js
vue使用watch监听属性变化
Apr 30 Vue.js
解决vue-router的beforeRouteUpdate不能触发
Apr 14 #Vue.js
vue3语法糖内的defineProps及defineEmits
Apr 14 #Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 #Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 #Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 #Vue.js
vue elementUI表格控制对应列
Apr 13 #Vue.js
vue项目打包后路由错误的解决方法
Apr 13 #Vue.js
You might like
Protoss魔法科技
2020/03/14 星际争霸
php批量删除数据
2007/01/18 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
jQuery中的常用事件总结
2009/12/27 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
介绍Python中的一些高级编程技巧
2015/04/02 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
详解Python多线程
2016/11/14 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python分治法定义与应用实例详解
2017/07/28 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
Python如何定义一个函数
2015/09/01 面试题
在校生党员自我评价
2013/09/25 职场文书
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
高中军训感言400字
2014/02/24 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
村委会贫困证明范文
2014/09/21 职场文书
爱国影片观后感
2015/06/18 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
MYSQL 表的全面总结
2021/11/11 MySQL