簡體   English   中英

TypeScript 運行時錯誤:module_1.Class 不是構造函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM