[英]module.exports class is not found in editor and not a constructor at runtime
[英]TypeScript runtime error: module_1.Class is not a constructor
我已經構建了一個名為 luna-pluto 的庫,它是一個 TypeScript 庫並將其發布到一個私有的 nexus 存儲庫,從主應用程序中我導入了該庫,如下所示
import { ServiceConfiguration } from 'luna-pluto';
我正在嘗試實例化 ServiceConfiguration 類
private _serviceConfiguration: any;
this._serviceConfiguration = new ServiceConfiguration();
在調試或嘗試運行應用程序時,它會拋出以下錯誤:
Error: luna_pluto_1.ServiceConfiguration is not a constructor
這是我的課 ServiceConfiguration.ts
export class ServiceConfiguration {
public req: HttpRequests;
public configuration: IConfig;
public packageInfo = new PackageJSON();
public async applyConfig(configuration: IConfig) {
this.configuration = configuration;
await this.applyRequestConfig();
}
private async applyRequestConfig(): Promise<any> {
const factory = new HttpFactory();
const httpConfig = this.configuration.get('api') as HttpOptions;
this.req = await factory.getProvider(httpConfig);
}
}
我的 index.js
"use strict";
exports.ServiceConfiguration = require("./lib/ServiceConfiguration");
exports.NullHttpRequests = require("./lib/persistence/http/NullHttpRequests");
我的 index.d.ts
export class ServiceConfiguration {
configuration: IConfig;
packageInfo: PackageJSON;
requests: HttpRequests;
applyConfig(configuration: IConfig): Promise<any>;
}
兩者都使用 TypeScript 3.4.1,當我將迷你庫移動到同一個 .ts 文件時,它工作得很好並返回預期的數據。 我相信圖書館上的代碼很好。
PS 嘗試以不同的方式導入庫,但仍然無法正常工作。 例如
const ServiceConfiguration = require("luna-pluto");
我相信在 'index.ts' 中你需要'export * from “./ServiceConfiguration”' 你當前的導出對我來說更像是類型導出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.