gpt4 book ai didi

javascript - 从 Javascript 调用 Typescript 类时的语法

转载 作者:行者123 更新时间:2023-11-30 14:53:48 27 4
gpt4 key购买 nike

我已经编写了一个将在遗留 javascript 中调用的 typescript 类。我通过以下方式导入它:

const ConfigurationManager = require('./ConfigurationManager');

转译后我得到:

var ConfigurationManager = /** @class */ (function () {
function ConfigurationManager

所以它必须被调用:

新的 ConfigurationManager.ConfigurationManager(...)

创建一个新实例。有没有办法清理它以便 javascript 端不那么冗长?

最佳答案

有几个选项:

  1. 您可以定义另一个变量来放置类:

代码:

const ConfigurationManagerModule = require('./ConfigurationManager');
const ConfigurationManager = ConfigurationManagerModule.ConfigurationManager;
new ConfigurationManager(...);
  1. 如果模块仅导出此类,则可以将模块的整个导出设置为类。

代码:

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;
}());

关于javascript - 从 Javascript 调用 Typescript 类时的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47698369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com