[英]Calling JavaScript class from TypeScript : Uncaught TypeError ... is not a constructor
[英]Syntax when calling Typescript class from Javascript
我已经写了一个打字稿类,它将在旧版javascript中调用。 我通过以下方式导入:
const ConfigurationManager = require('./ConfigurationManager');
转换后,我最终得到:
var ConfigurationManager = /** @class */ (function () {
function ConfigurationManager
因此,必须使用以下命令调用它:
new ConfigurationManager.ConfigurationManager(...)
创建一个新实例。 有没有一种方法可以解决此问题,因此javascript方面的详细程度要少一些?
有几种选择:
码:
const ConfigurationManagerModule = require('./ConfigurationManager');
const ConfigurationManager = ConfigurationManagerModule.ConfigurationManager;
new ConfigurationManager(...);
码:
export = class ConfigurationManager {
}
const ConfigurationManager = require('./ConfigurationManager');
new ConfigurationManager();
对于第二个选项, export class ..
和export = class ...
之间的区别是,在第一种情况下,我们指定要添加到导出中的内容,在第二种情况下,我们指定整个导出是该类。 对于生成的JS,第一个选项将生成以下内容:
var ConfigurationManager = /** @class */ (function () {
function ConfigurationManager() {
}
return ConfigurationManager;
}());
exports.ConfigurationManager = ConfigurationManager;
而第二个生成此:
module.exports = /** @class */ (function () {
function ConfigurationManager() {
}
return ConfigurationManager;
}());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.