小编典典

Angular 2:将外部js文件导入组件

javascript

我将将此d3gauge.js文件导入我的angular2组件memmon.component.ts文件之一。

import '../../../../js/d3gauge.js';
export class MemMonComponent {
    createMemGauge() {
        new drawGauge(this.opt);  //drawGauge() is a function inside d3gauge.js
    }
}

然后在相应的模板文件中添加

<script src="../../../../js/d3gauge.js"></script>

但这是行不通的,drawGauge无法找到。

所以,

  1. 将外部js文件导入angular2的正确步骤是什么?
  2. 由于我使用的是webpack,是否可以在webpack中进行?我指的是这个问题,由于无法解决,因此webpack解决方案对我不起作用.ensure

阅读 406

收藏
2020-05-01

共1个答案

小编典典

理想情况下,您需要具有.d.ts用于键入的文件才能Linting正常工作。

但是似乎d3gauge没有,您可以要求开发人员提供并希望他们会听。


或者,您可以通过执行以下操作解决此特定问题

declare var drawGauge: any;

import '../../../../js/d3gauge.js';
export class MemMonComponent {
    createMemGauge() {
        new drawGauge(this.opt);  //drawGauge() is a function inside d3gauge.js
    }
}

如果您在多个文件中使用它,则可以d3gauage.d.ts使用以下内容创建文件

declare var drawGauge: any;

boot.ts在顶部的(bootstrap)文件中引用它,就像这样

///<reference path="../path/to/d3gauage.d.ts"/>
2020-05-01