我正在通过Create React App构建一个React / TypeScript应用程序,并希望以一种类型安全的方式包括特定于环境的配置。请注意,我真的不希望eject
该应用程序。
理想情况下,我希望有一组文件local.ts
,dev.ts
,prod.ts
等。每个文件都将导出相同类型的对象,如下所示:
interface EnvConfig {
key: string
// ...
}
export const config: EnvConfig = {
key: 'value',
// ...
}
然后,在我的应用程序中,我想根据环境导入适当的配置。类似于:
// This is bundling BOTH prod and local configs and running logic client side!
if (process.env.NODE_ENV === 'production') {
return require('./prod')
} else {
return require('./local')
}
我已经尝试过了,它有点有效,但是如果您查看捆绑包,react-scripts将包括所有配置对象并在客户端上运行逻辑以确定要提供的对象起来我不想发布所有配置,只发布适合构建的配置。
是否有一种方法可以在不弹出应用程序的情况下进行操作?