You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Next.js TypeScript项目中扩展Bootstrap工具类并解决SassError报错

问题解决方案

这个报错的核心原因是当前编译的.module.scss文件作用域内没有找到.text-center对应的选择器定义:Next.js的CSS Module是独立编译的,即便你在全局引入过Bootstrap,单个模块的@extend只会查找当前文件内导入的选择器。你可以任选以下方案解决:

方案1:当前模块内导入Bootstrap对应样式

在你的Step0.module.scss文件顶部按顺序添加导入即可,注意自定义变量要放在Bootstrap自带变量导入之前才能生效:

// 可选:先导入你自己写的Bootstrap变量覆盖文件
@import "./custom-bootstrap-vars.scss";
// 导入Bootstrap核心依赖及用到的样式模块
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
@import "~bootstrap/scss/mixins";
@import "~bootstrap/scss/typography"; // .text-center定义在这个模块内

.welcome {
    @extend .text-center;
}

如果有多个模块需要扩展Bootstrap类,你可以把上面的公共导入提取成一个单独的_bootstrap-common.scss片段文件,在需要的模块里直接导入这个片段即可,不会重复打包。

方案2:用全局选择器标记扩展

如果你已经在全局样式文件里完整引入了Bootstrap全量样式,不想在模块里重复导入依赖,可以用CSS Module的:global语法标记要扩展的类属于全局作用域:

.welcome {
    @extend :global(.text-center);
}

方案3:临时调试用!optional标记

如果只是临时调试,不要求强制扩展生效,可以直接按报错提示添加!optional标记,找不到目标选择器时Sass会直接跳过扩展逻辑,不会抛出错误:

.welcome {
    @extend .text-center !optional;
}

⚠️ 该方案不推荐生产环境使用,若确实未引入对应样式,扩展规则会直接失效。


内容的提问来源于stack exchange,提问作者Sadaf Sid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:24:03