在 Next.js 中,默认情况下并没有开启 CSS Module,而是由开发者选择是否使用。如果你在使用 CSS Modules 并希望关闭它们,可以通过几种方式来调整。
-
修改文件命名方式: CSS Modules 在 Next.js 中是通过文件名来启用的。如果你的样式文件是以
.module.css
结尾的,那么它会被当作一个 CSS Module 来处理。如果你不希望使用 CSS Modules,你可以简单地将文件名从.module.css
改为.css
。这样,Next.js 将不会把这些样式文件当作 CSS Modules 处理。例子:
plaintext将 `styles.module.css` 重命名为 `styles.css`
-
配置 Next.js: 虽然 Next.js 没有直接的配置选项来完全禁用 CSS Modules,但你可以通过配置来限制其影响。例如,你可以在
next.config.js
中配置 CSS 加载方式,确保不处理 CSS Modules。例子:
javascript// next.config.js const path = require('path'); module.exports = { webpack(config, options) { config.module.rules.push({ test: /\.css$/, use: ['style-loader', 'css-loader'], include: [path.resolve(__dirname, 'styles')], }); return config; }, };
上面的配置示例中,
css-loader
被配置为不使用{ modules: true }
选项,这意味着所有的.css
文件都不会被当作 CSS Modules 处理。
通过上述方法,你可以在 Next.js 项目中避免使用 CSS Modules,或者至少限制它们的使用范围。如果有特定的需求或场景需要完全避免 CSS Modules,还可以探索使用全局 CSS 或其他 CSS-in-JS 解决方案。
2024年6月29日 12:07 回复