我在一个存储库中有一台节点服务器和一个创建 react 应用程序,我正在尝试使用一个 tsconfig.json。由于某种原因,CRA 需要 module: "esnext"
,并且如果没有 module: "commonjs"
,后端服务器将无法启动。
有人可以向我解释一下这是怎么回事吗?我怎样才能让它们都使用相同的模块设置?是否可以将其设置为某种值并同时适用于两者?我需要 tsconfig 文件吗?
最佳答案
创建 React App 使用 webpack,它使用 Babel with typescript transform ,这不是使用 typescript 的“正常”方式。每次运行 react-scripts
时,CRA 都会修改您的 tsconfig.json
,使其按照 CRA 期望的方式工作。
您可以 eject并重新配置webpack来捆绑typescript编译的js代码,而不涉及Babel,那么你对tsconfig.json
没有任何限制。
或者您可以有两个文件,用于 CRA 的 tsconfig.json
和用于服务器代码的 tsconfig.node.json
,两者都是 extending第三个 tsconfig.base.json
具有通用设置。
关于typescript - tsconfig "module"属性与节点服务器 + 创建 React 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57335001/