我觉得我已经尝试了一切,但似乎没有任何效果。我创建并发布了以下模块:索引.ts:import ContentIOService from "./IOServices/ContentIOService";export = { ContentIOService: ContentIOService,}ContentIOService以下文件在哪里:import {SuperIO} from "../Framework/SuperIO";export interface ICMSContentData { id: number; url: string; htmlTag: string; importJSComponent: string; componentData: string}export interface CMSData { id: number; url: string; htmlTag: string; importJSComponent: string; componentData: Object}export default class ContentIOService extends SuperIO { private static instance: ContentIOService; public static getInstance(): ContentIOService { if (!ContentIOService.instance) { ContentIOService.instance = new ContentIOService(); } return ContentIOService.instance; } public async GetContent(url: string) { const response = await super.get<ICMSContentData[]>(url, {}); try { if (response?.parsedBody) { return this.ProcessResponse(response.parsedBody); } else { this.handleHTTPError(new Error("Error")) } } catch (e) { this.handleHTTPError(e); } } private ProcessResponse(ContentData: ICMSContentData[]): CMSData[] { let CMSData: CMSData[] = []; for (let i = 0; i < ContentData.length; i++) { CMSData.push({ id: ContentData[i].id, url: ContentData[i].url, htmlTag: ContentData[i].htmlTag, importJSComponent: ContentData[i].importJSComponent, componentData: this.parseComponentData(ContentData[i].componentData) }) } return CMSData; } private handleHTTPError(e: Error) { console.log(e) } private parseComponentData(parseAbleString: string): Object { return JSON.parse(parseAbleString); }}然后我将其构建在一起并将其捆绑到一个/lib文件夹中:
1 回答

慕村225694
TA贡献1880条经验 获得超4个赞
export = { ContentIOService: ContentIOService, }
这不会导出名为 的值ContentIOService
。相反,它是具有名为 的属性的对象的默认导出ContentIOService
。这两种情况不是一回事。
命名导出看起来更像这样:
import _ContentIOService from "./IOServices/ContentIOService"; export const ContentIOService = _ContentIOService;
您可以使用重新导出来清理:
export { default as ContentIOService } from "./IOServices/ContentIOService";
添加回答
举报
0/150
提交
取消