未安装sass却能在Next.js项目中使用SCSS?原因何在?
为什么未手动安装
sass却能在Next.js项目中使用SCSS语法? 核心原因是Next.js v12及后续版本已内置SCSS/Sass支持,无需手动安装sass包即可使用相关语法。
具体说明:
- 在Next.js v11及更早版本中,确实需要手动执行
yarn add sass才能启用SCSS编译,但从v12开始,官方已将Sass处理整合进框架默认构建流程:- 当项目中出现
.scss/.sass文件时,Next.js的webpack构建链会自动检测并调用Sass编译器; - 框架会自动管理
sass依赖的拉取(该依赖不会显式出现在你的package.json中); @use、@include这类Sass核心语法,都会被正常编译为浏览器可识别的纯CSS。
- 当项目中出现
从你提供的package.json来看,当前使用的是Next.js 13.0.7,完全符合上述自动支持逻辑,所以未手动安装sass也能正常使用SCSS功能。
如果后续需要指定特定版本的sass,或者遇到SCSS编译问题,可手动执行yarn add sass,此时sass会被添加到项目依赖中,Next.js会优先使用你安装的版本。
内容的提问来源于stack exchange,提问作者Aden Lee
相关产品推荐
相关产品推荐

