【发布时间】:2018-10-24 18:21:25
【问题描述】:
长期从事 C++ 工作的人,最近从事网络开发工作的人。我的应用程序有一个返回对象的 .js 文件:
define('moduleA', [...], function(...) {
...
return {
propertyA: /*boolean value*/,
...
};
});
省略号与此问题无关。现在我有一个 .ts 文件,我试图在其中导入这个 Javascript 模块并在 Typescript 代码中引用它。我的打字稿看起来像:
//@ts-ignore
import moduleA from 'moduleA';
export class ModuleB {
...
public someMethod() {
if (moduleA.propertyA) {
...
}
}
...
}
这个Typescript在转译的时候,上面的Require语句是正确的,但是上面'someMethod'中转译的代码是:
if (module_a_1.default.propertyA) {
...
}
我不明白这个“默认”子对象是从哪里来的。就像现在一样,运行时会引发异常,因为无法在“未定义”上引用“propertyA”。如果“默认”不存在并且转译的代码是:
if (module_a_1.propertyA) {
...
}
那么它应该可以工作。我猜这是 Typescript 的一些新手错误。任何人都可以提供见解吗?提前致谢!
- 史蒂夫
【问题讨论】:
标签: typescript import