网站搜索

javascript - 有没有通配符导出 as 的语法?


这是导入语法:

import * as foo from 'bar';

我同样尝试了:

export * as foo from 'bar';

但是那引发了错误:

ERROR in src/app/@theme/components/aComp/aComp.loader.ts(1,10): error TS1005: 'from' expected.
src/app/@theme/components/aComp/aComp.loader.ts(1,13): error TS1005: ';' expected.
src/app/@theme/components/aComp/aComp.loader.ts(1,17): error TS1005: ';' expected.
src/app/@theme/components/aComp/aComp.loader.ts(1,22): error TS1005: ';' expected.

还有导出语法:

export { default as foo } from 'bar';

有没有办法对 * 而不是 default 来做这件事?

(仅供参考,我正在尝试从语句中移除 require)

export const foo = require('bar');

在运行 ng serve 时会抛出以下错误,包括上面的 .ts 文件:

ERROR in src/app/@theme/components/aComp/aComp.loader.ts(6,20): error TS2304: Cannot find name 'require'.

答案#1

不,没有,但有一个提议要将这种语法添加到语言中。

目前,您需要使用

import * as foo from 'bar';
export { foo }; // verbose: { foo as foo }

实际上,这甚至比 export * as foo from 'bar'; 更接近 export const foo=require('bar');,因为它确实在本地模块作用域中提供了 foo。