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实现两个区域滚动条同步滚动
Dec 13 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
Vue实现多页签组件
Jan 14 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
Vue的生命周期一起来看看
Feb 24 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue如何清除浏览器历史栈
May 25 Vue.js
vue如何在data中引入图片的正确路径
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中in_array函数用法分析
2014/11/15 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
Python 元类使用说明
2009/12/18 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
python 接收处理外带的参数方法
2018/12/03 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
Django多数据库联用实现方法解析
2020/11/12 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
你常见到的runtime exception
2016/09/05 面试题
如何获取某个日期是当月的最后一天
2013/12/05 面试题
经典c++面试题三
2015/07/08 面试题
董事长岗位职责
2013/11/30 职场文书
个人授权委托书
2014/04/03 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
解约证明模板
2015/06/19 职场文书