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 26 Vue.js
vue实现图片裁剪后上传
Dec 16 Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
详解实现vue的数据响应式原理
Jan 20 Vue.js
vue常用高阶函数及综合实例
Feb 25 Vue.js
深入理解Vue的数据响应式
May 15 Vue.js
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
三种方式清除vue路由跳转router-link的历史记录
Apr 10 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使用curl获取https请求的方法
2015/02/11 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
浅析javascript操作 cookie对象
2014/12/26 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
js数组去重的方法总结
2019/01/18 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
JS实现音量控制拖动
2020/01/15 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
python访问sqlserver示例
2014/02/10 Python
python下MySQLdb用法实例分析
2015/06/08 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
通过Pandas读取大文件的实例
2018/06/07 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Numpy的简单用法小结
2019/08/28 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
python判断变量是否为列表的方法
2020/09/17 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
酒店总经理欢迎词
2014/01/08 职场文书
初中生自我评价
2014/02/01 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书