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 相关文章推荐
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
Dec 02 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
Vue中Object.assign清空数据报错的解决方案
Mar 03 Vue.js
Vue 打包后相对路径的引用问题
Jun 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 define函数的使用说明
2008/08/27 PHP
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
浅谈Javascript的静态属性和原型属性
2015/05/07 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
vue 实现的树形菜的实例代码
2018/03/19 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
three.js实现圆柱体
2018/12/30 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
python元组操作实例解析
2014/09/23 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
python 实现12bit灰度图像映射到8bit显示的方法
2019/07/08 Python
Pytorch to(device)用法
2020/01/08 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
物业品质提升方案
2014/06/08 职场文书
标准毕业生自荐信
2014/06/24 职场文书
交通事故委托书范本
2014/09/28 职场文书
企业整改报告范文
2014/11/08 职场文书
锦旗赠语
2015/06/23 职场文书
学习委员竞选稿
2015/11/20 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python