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+iview实现文件上传
Nov 17 Vue.js
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
Vue自定义铃声提示音组件的实现
Jan 22 Vue.js
Vue如何清空对象
Mar 03 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
Vue深入理解插槽slot的使用
Aug 05 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
用PHP+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
Javascript实现基本运算器
2017/07/15 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
python实现识别相似图片小结
2016/02/22 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
学生信息管理系统python版
2018/10/17 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
商场中秋节活动方案
2014/02/07 职场文书
调解协议书
2014/04/16 职场文书
煤矿安全生产标语
2014/06/06 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2015年助残日活动总结
2015/03/27 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
薪资证明范本
2015/06/19 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python