javascript - 在运行时导入模块和导出
问题描述
您好我有两个配置文件,例如:
config-one.ts
export const FOO = '1';
export const BAR = 1;
配置-two.ts
export const FOO = '2';
export const BAR = 2;
这两个文件都导入到 config.ts 中。
配置文件
import * as configOne from './config-one.ts';
import * as configTwo from './config-two.ts';
我想在某些情况下导出 config-one 或 config-two 就像config.ts导出的那样
if ( some condition ){
export configOne;
} else {
export configTwo;
}
在其他文件中使用
脚.ts
import { FOO, BAR } from './config.ts';
在打字稿中可能吗?
解决方案
动态导入足以使动态导出发生:
config-one.ts
export const config1 = "config1";
配置-two.ts
export const config2 = "config2";
索引.ts
const whatever = true;
const getConfig = () => {
if (whatever) {
return import("./config-one");
}
return import("./config-two");
};
tsconfig
...
"moduleResolution": "Node",
"module": "CommonJS",
...
用法示例:
async function main() {
console.log(await getConfig());
}
main().catch(console.log);
推荐阅读
- json - 使用 Dio 颤振 json 响应
- python - Pytest Bdd 从 Gherkin 给定条件获取表值
- python - 具有 2 个不同链接但内容相同的 href
- django - 重定向时 Django translation.activate 不起作用
- google-bigquery - Bigquery 将字符串转换为日期时间
- python - 在 matplotlib 中禁用(离散)概率质量函数下的阴影
- c# - 使用 OAuth 令牌生成 WebApi 将更多数据返回给带有不记名令牌的客户端
- c++ - 通过共享对象线程进行迭代是否安全?
- android - 小米手环5如何认证
- python-3.x - KeyError:“[索引(['23/01/2020'......,\n dtype ='object',长度= 9050)]中没有[列]”