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在H5 项目中使用融云进行实时个人单聊通讯
Dec 14 Vue.js
vue+openlayers绘制省市边界线
Dec 24 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
vue使用v-model进行跨组件绑定的基本实现方法
Apr 28 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 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
PHP5 字符串处理函数大全
2010/03/23 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
.NET面试10题
2014/02/24 面试题
动物学专业毕业生求职信
2013/10/11 职场文书
初入社会应届生求职信
2013/11/18 职场文书
办公室主任先进事迹
2014/01/18 职场文书
翻译学院毕业生自荐书
2014/02/02 职场文书
简历的自我评价
2014/02/03 职场文书
乡镇信息公开实施方案
2014/03/23 职场文书
教师自查自纠材料
2014/10/14 职场文书
2014年药房工作总结
2014/11/22 职场文书
重温入党誓词主持词
2015/06/29 职场文书
终止合同协议书范本
2016/03/22 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
python中pymysql包操作数据库方法
2022/04/19 Python