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 19 Vue.js
ESLint 是如何检查 .vue 文件的
Nov 30 Vue.js
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
详解Vue的异步更新实现原理
Dec 22 Vue.js
Vue实现简易购物车页面
Dec 30 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
vue如何使用rem适配
Feb 06 Vue.js
详解Vue3使用axios的配置教程
Apr 29 Vue.js
vue实现简易音乐播放器
Aug 14 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
cookie的secure属性详解
2015/04/08 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
Python类的专用方法实例分析
2015/01/09 Python
wxPython中listbox用法实例详解
2015/06/01 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
python和c语言的主要区别总结
2019/07/07 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
超市商业计划书
2014/05/04 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
信用卡工资证明范本
2014/10/17 职场文书
公务员个人总结
2015/02/12 职场文书
红色故事汇观后感
2015/06/18 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers