Angular2(TypeScript)如何从另一个文件导出变量

12

在Nodejs中,我有一个名为variables.js的页面,大致如下:

exports.var1= 'a';
exports.var2= 'b';
这个文件保存了我在应用程序中使用的所有变量,集中放在一个地方。
然后,在另一个页面内,我使用以下代码调用此页面:
var variables= require('./variables');
现在我可以通过像这样使用 sin 变量来访问页面,例如:
alert(variables.var1);

我想在Angular2 (TypeScript)中做同样的事情。我尝试了一些导入和导出,但是无法使其工作。请问如何使用TypeScript在Angular2中实现这一点?

2个回答

24

variables.ts

export var var1:string = 'a';
export var var2:string = 'b';

other-file.ts

import {var1, var2} from './variables';

alert(var1);
或者
import * as vars from './variables';

alert(vars.var1);

另请参见 Barrel,位于https://angular.io/guide/glossary#barrel


当我尝试使用"import "../variables" as vars;"导入时,我收到错误提示:Error TS1005: 需要';'。因为有一个分号,所以我不确定它在抱怨什么? - user2924127
现在它说我的./variables.ts不是一个模块。 - user2924127
这两个文件在同一个目录下吗? - Günter Zöchbauer
是的,它们在完全相同的文件夹中。 - user2924127
1
抱歉,又出现错误了。我在export后面漏掉了var这里有一个正常运行的 Plunker 示例 - Günter Zöchbauer
你也可以将你的 var 定义为 const,以防止它们被修改。 - cjsimon

3
尝试使用导出和导入,但无法使其正常工作。我如何在Angular2中使用TypeScript来做到这一点?
只需使用“export”关键字和“import”关键字。这只是ES6,并且与TypeScript神奇地配合使用 ;)
导出:
export var1 = 'a'

导入:

import {var1} from './variables';

更多

这里涵盖了TypeScript模块: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接