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中通过render函数给子组件设置ref操作
Nov 17 Vue.js
vue实现表格合并功能
Dec 01 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
Vue仿百度搜索功能
Dec 28 Vue.js
梳理一下vue中的生命周期
Dec 30 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
如何使用vue3打造一个物料库
May 08 Vue.js
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 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之第九天
2006/10/09 PHP
PHP安全性漫谈
2012/06/28 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
详解YII关联查询
2016/01/10 PHP
php中的依赖注入实例详解
2019/08/14 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
input+select(multiple) 实现下拉框输入值
2009/05/21 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
Python实现带下标索引的遍历操作示例
2019/05/30 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
玩具公司的创业计划书
2013/12/31 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
工作鉴定评语
2014/05/04 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
员工辞职信范文
2015/03/02 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python