Typescript:使用另一个文件中声明的枚举
假设我在一个文件(test1.ts)中声明了一个枚举: 然后在另一个文件(test2.ts)中,我声明了一个具有方法的类。该方法的一个参数是在颜色枚举中定义的颜色: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){
'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'