首页 > 解决方案 > 在 Next.js 中编译遗留组件(无法解析 'react/jsx-dev-runtime',无法导入全局 CSS)

问题描述

我刚刚启动了一个新的 Next.js 项目(React v 17.0.1)。我正在尝试从遗留项目中编译和导入组件。看到一些错误让事情正常工作:

  1. Module not found: Can't resolve 'react/jsx-dev-runtime'. 我有一种预感,这可能与React 17 中的新 JSX 编译器有关
    • 可以通过添加/** @jsxRuntime classic */到文件顶部来解决,但我更愿意只打开经典编译器。这可能吗?
  2. Global CSS cannot be imported from files other than your Custom <App>
    • 这可以通过使用模块或导入来解决pages/_app。但是,我想关闭此安全功能,保留旧组件。

问题:

  1. 如何强制 Next.js 使用classicJSX 编译器而不是新automatic
  2. 如何关闭强制 CSS 仅导入到的安全“功能” _app

标签: javascriptreactjsnext.js

解决方案


这是通过在 package.json 中将 React 依赖项降级到 16 来解决的


推荐阅读