Typescript:使用另一个文件中声明的枚举

Typescript:使用另一个文件中声明的枚举,typescript,enums,Typescript,Enums,假设我在一个文件(test1.ts)中声明了一个枚举: 然后在另一个文件(test2.ts)中,我声明了一个具有方法的类。该方法的一个参数是在颜色枚举中定义的颜色: 'use strict'; declare var require: any; declare var exports: any; var Colors = require('Colors'); class DoSomethingWithColor{ ColorFunction(aColour:Colors){

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

然后在另一个文件(test2.ts)中,我声明了一个具有方法的类。该方法的一个参数是在颜色枚举中定义的颜色:

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

var Colors = require('Colors');

class DoSomethingWithColor{
    ColorFunction(aColour:Colors){
        //Funky color processing here..
    }
}
但是,我得到了一个错误:

无法精细命名颜色

即使在第二个文件中已导出并需要它。 我在这里是做错了什么,还是这不是我尝试做的事情的一种“类型脚本式”的方式(如果是,首选的方式是什么?)


谢谢

正如jonrsharpe在评论中提到的,您必须使用typescript支持的导入语句之一

import * from './test1' as Colors

有关typescript中模块(现在是名称空间)的导入语句和最佳实践的更多信息,请查看其文档:


通常,如果您使用的是export/import语句,则需要类似or的模块加载器。这些程序捆绑您的代码,并负责确保导入程序在运行时可以使用依赖项。根据import语句是开箱即用的这一事实判断,很可能您已经在使用模块加载器了。

import{Colors}from./test1'?嗯…好的,那很有效。我应该在什么时候使用导入,什么时候需要?一般使用
import
,但这个答案有效的原因是它使用
{Colors}
,而不仅仅是
颜色。前者适用于
导出
,后者适用于
导出默认值
@jornsharpe:如果您将此作为答案发布,我将接受它以结束问题:)
import * from './test1' as Colors
import {Colors} from './test1'