最近在学习vue框架,想在vue中使用sass写样式,但在vue中安装的node-sass 和 sass-loader后 ,在style中写样式总是报错。
下面是我对这个问题的一点记录

在vue中使用sass写css代码,我们需要在vue的style样式上添加一些样式

<style scoped lang="scss">  // 添加一个属性 lang="scss"
	.main{
		background-color: #00FFFF;
		/* height: 100%; */
		span{
			font-size: 30px;
		}
	}
</style>

这是运行会发现报错
Failed to resolve loader: sass-loader

说是没有sass-loader
那我们安装呗 cnpm install sass-loader -D

这是会报错
Module build failed (from ./node_modules/_sass-loader@8.0.0@sass-loader/dist/cjs.js):
Error: Cannot find module ‘node-sass’

那我们也安装一个 cnpm install node-sass -D

如果这是用 最新版的vue搭建脚手架 @vue/cli 这时你的sass样式应该可以用了,

但是。如果你用你不是最新的脚手架搭建工具
也可能还是会报错

Module build failed: TypeError: this.getResolve is not a function
at Object.loader (C:\Users\zhanliang\Desktop\vue-Demo\vuedemo1\app\node_modules_sass-loader@8.0.0@sass-loader\dist\index.js:52:26)

这是node-sass 和 sass-loader 不兼容造成的
在这里插入图片描述
解决的方式就是 把sass-loader 的版本换位成7.3.1
你可以一开始安装sass-loader 的时候就安装7.3.1 版本

cnpm install sass-loader @7.3.1 -D

当然这个版本你也可以随时更改
这要执行上面命令 ,就会用现在的版本替代之前的版本

好了,这样你的sass 就可以在vue项目上使用了

Logo

前往低代码交流专区

更多推荐