【发布时间】:2016-08-08 20:28:59
【问题描述】:
我正在尝试将一个类导入全局范围,并且我能够做到,但是当我尝试扩展该类时,我收到一条错误消息:
类型 'any' 不是构造函数类型。
所以这就是我为得到该错误所做的事情:
main.ts
const MyClass = require('./core/MyClass');
class MyTestClass extends MyClass {
}
然后我尝试使用import MyClass from './core/MyClass',而不是 const,但这似乎只在当前文件的范围内,这对我也没有帮助。
core/MyClass.ts
export default class MyClass {
}
我已经尝试使用命名空间,它在 typescript 中按我想要的方式工作,但是一旦编译成 javascript,命名空间是未定义的。
有没有办法可以将我的类导入到全局范围内,并且在扩展类时不会出现上述错误?
【问题讨论】:
-
如果你想在浏览器中声明全局变量,你可以随时使用
window.MyClass = MyClass。 -
这样做我得到
Cannot find name 'MyClass'. -
是
import还是require? -
像这样:
import MyClass = require('./core/MyClass'); window['MyClass'] = MyClass; -
试试
import MyClass from './core/MyClass'。然后在window上创建属性
标签: javascript typescript