构造函数中有以下导入:
import { Component, OnInit, Input, OnChanges } from '@angular/core';
import * as moment from 'moment';
import * as Gantt from './frappe-gantt.js';在我的ngOnInit()里
var gantt = new Gantt.default(`#${this.id}`, this.tasks, { ... })这会引发以下错误:
_frappe_gantt_frappe_gantt_js__WEBPACK_IMPORTED_MODULE_3___default.a不是构造函数
你知道这件事吗?
编辑:打印启动组件的console.log(Gantt)返回me {}
我的frappe-gantt.js是:
var Gantt = (function () {
'use strict';
...
}
)谢谢!
发布于 2019-09-16 14:36:58
看起来,您正在处理的是“遗留”代码,这些代码实际上并不导出任何东西,而是执行一个IIFE,可能会将一些东西分配给全局变量或window。尝试使用以下导入方式:
import './frappe-gantt.js';在导入文档中,这被描述为“只为其副作用导入一个模块”。这确实假定Gantt是作为全局变量公开的。
尽管如此,如果您可以访问这个文件,您可能应该将它转换为一个实际的TypeScript文件,并导出Gantt,就像在您的角项目中使用任何其他模块一样。
希望这能帮上忙!
https://stackoverflow.com/questions/57958711
复制相似问题