打字稿:使用在另一个文件

时间:2016-10-15 20:08:05

标签: typescript enums

说我在一个文件(test1.ts)中声明了一个枚举:

export enum Colors{
    red=1,
    blue=2,
    green=3
}

然后在另一个文件(test2.ts)中我宣布一个有一个方法的类。该方法的一个参数是Colors enum中定义的Color:

'use strict';
declare var require: any;
declare var exports: any;

var Colors = require('Colors');

class DoSomethingWithColor{
    ColorFunction(aColour:Colors){
        //Funky color processing here..
    }
}

但是,我收到了错误:

  

不能命名颜色

即使它在第二个文件中导出并需要。 我在这里做错了什么,或者这不是一个' typescripty'做我想做的事情(如果有的话,首选的方式是什么?)?

由于

1 个答案:

答案 0 :(得分:0)

正如jonrsharpe在评论中提到的那样,您使用的是打字稿支持的导入语句之一。

import * from './test1' as Colors

import {Colors} from './test1'

有关打字稿中模块(现为名称空间)的导入语句和最佳做法的更多信息,请查看其文档:https://www.typescriptlang.org/docs/handbook/modules.html https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html

通常,如果您使用导出/导入语句,则将需要模块加载器,例如CommonJSWebPack。这些程序捆绑了您的代码,并负责确保在运行时导入程序可以使用依赖项。从import语句开箱即用的事实来看,很可能您已经在使用模块加载器。

相关问题