以特定方式导入JS

时间:2019-06-26 13:59:05

标签: javascript typescript

在TS中,我有 class.ts Class1 ,一些 helper.ts 的函数,一些来自变量的变量。 ts

例如, variables.ts 看起来像这样:

export const test1 = 'test1';
export const test2 = 0;
export const test3 = 'test3';
export const test4 = 'test4';

然后使用Webpack,给api.ts像条目一样来构建模块。

api.ts

export { Class1 } from './class1';
export { helper1, helper2 } from './helper';
import * as variables from './utils/common-variables';
export { variables };

当我需要 variables.ts 的所有变量时,一切都很好。 我可以在我的file.js中做到这一点:

import { variables } from 'api';

但是,有时候,我只需要一个变量。因此,我想知道是否可以导入如下内容:

import { variables.test1 as test } from 'api';

2 个答案:

答案 0 :(得分:3)

不,该特定语法为not possible – an ImportSpecifier can only really be a name,而不是像您一样的属性访问表达式。

不过,您可以直接从api/utils/common-variables导入它们,而不必进行重新导出。

答案 1 :(得分:0)

您可以从导入中导入单个模块,然后根据需要在打字稿中对其进行重命名。 read here

文档中已提及

示例:

import { ZipCodeValidator as ZCV } from "./ZipCodeValidator";
let myValidator = new ZCV();`

我希望这会有所帮助。