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 18 Vue.js
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 Vue.js
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
一篇文章学会Vue中间件管道
Jun 20 Vue.js
Vue3中的Refs和Ref详情
Nov 11 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
vue实现Toast组件轻提示
Apr 10 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 escape URL编码
2008/12/10 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
PHP读取xml方法介绍
2013/01/12 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php邮箱地址正则表达式验证
2015/11/13 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
玩转python爬虫之URLError异常处理
2016/02/17 Python
python pygame模块编写飞机大战
2018/11/20 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
用python批量移动文件
2021/01/14 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
保护环境建议书
2014/03/12 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书