typescript - tsconfig "module"属性与节点服务器 + 创建 React 应用程序

标签 typescript create-react-app

我在一个存储库中有一台节点服务器和一个创建 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/

相关文章:

reactjs - 如何运行 create-react-app 构建版本

reactjs - TypeScript React,获取 div onClick 的 id 的正确类型是什么?

typescript - 为什么 Function 扩展了 TypeScript 中的 Record?

Javascript 过滤嵌套数组

service-worker - reactjs 服务 worker 更新

javascript - 预计 toHaveBeenCalledWith 不适用于最新的 CreateReactApp 设置

gitlab-ci - Blackduck Synopsys Yarn Detector 找不到项目版本名称

google-maps - Angular 2( Angular cli): Uncaught ReferenceError: google is not defined

angular - subscribe 中的 Angular 2 "this"关键字如何引用该类?

reactjs - 如何在Github Page中使用环境变量?