说我在一个文件(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'做我想做的事情(如果有的话,首选的方式是什么?)?
由于
答案 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
通常,如果您使用导出/导入语句,则将需要模块加载器,例如CommonJS或WebPack。这些程序捆绑了您的代码,并负责确保在运行时导入程序可以使用依赖项。从import语句开箱即用的事实来看,很可能您已经在使用模块加载器。