我有" ErrorMessage.ts"在" com / abc / module / common"
module com.abc.module.common {
export const ErrorMessages = {
ITEM_ALREADY_EXISTS: "item already exists",
ITEM_NOT_FOUND: "not found"
};
}
在" com / abc / module / item"的itemMaint.ts中,我有
module com.abc.module.item {
import ErrorMessages = com.abc.module.common.ErrorMessages;
console.log(ErrorMessages.ITEM_NOT_FOUND);
}
在运行时,我收到错误:ITEM_NOT_FOUND未定义。
我将///<reference path="../common/ErrorMessages.ts" />
添加到&#34; itemMaint.ts&#34;的顶部后,错误消失了。你能告诉我为什么要添加它吗?
谢谢,
鲍勃
答案 0 :(得分:0)
我认为import
的正确方法是:
import { module } from "modulePath";
您可以在此处阅读更多内容https://www.typescriptlang.org/docs/handbook/modules.html
答案 1 :(得分:0)
您正在混合模块和命名空间之间的概念,术语也令人困惑(https://www.typescriptlang.org/docs/handbook/modules.html)
您实际构建的内容,我认为称为命名空间,最后是包含所有导出的方法和变量的变量,检查已翻译的文件,以查看它。
所以要在嵌套文件上“导入”你只需要在“itemMaint.ts”之前包含/执行“ErrorMessage.ts”而不使用“import”,因为它已经存在,因为已经创建了变量。
这是旧样式,不应该使用,有更好的方法来使用ES6语法和模块加载器声明模块。