乐闻世界logo
搜索文章和话题

Nextjs 如何在 Next 中关闭CSS module功能?

4 个月前提问
3 个月前修改
浏览次数25

1个答案

1

在 Next.js 中,默认情况下并没有开启 CSS Module,而是由开发者选择是否使用。如果你在使用 CSS Modules 并希望关闭它们,可以通过几种方式来调整。

  1. 修改文件命名方式: CSS Modules 在 Next.js 中是通过文件名来启用的。如果你的样式文件是以 .module.css 结尾的,那么它会被当作一个 CSS Module 来处理。如果你不希望使用 CSS Modules,你可以简单地将文件名从 .module.css 改为 .css。这样,Next.js 将不会把这些样式文件当作 CSS Modules 处理。

    例子

    plaintext
    将 `styles.module.css` 重命名为 `styles.css`
  2. 配置 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 回复

你的答案