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

IT技术 javascript reactjs next.js
2021-05-16 04:47:48

我刚刚启动了一个新的 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>
    • 这可以通过使用module或导入pages/_app. 但是,我想关闭此安全功能,保留旧组件。

问题:

  1. 我怎么能强迫Next.js使用classicJSX编译器,而不是新的automatic一个
  2. 如何关闭强制 CSS 仅导入到的安全“功能” _app
1个回答

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