在angular 4应用程序中使用外部的javaScript库
问题描述:
我有一个角度为4的应用程序,我有一个javascript组件,我在javascript文件中创建:timeline.js
。 javascript组件效果很好,但我想用角度为4.所以,我把我的js文件放在文件夹assets/js/timeline.js
。在angular 4应用程序中使用外部的javaScript库
在文件index.html
,我打电话给我的js文件与<script src="assets/js/timeline.js"></script>
和app.component.ts
,我有:
var timeline = new Timeline("timelineVisualization")
所以,通常情况下,时间线中有id="timelineVisualization"
在div创建的。
但它不起作用,我在new Timeline
错误:无法找到名称时间轴。
那么,你知道我怎样才能从timeline.js
调用时间轴构造函数吗?
答
你只需做
import * as Timeline from '../assets/js/timeline.js';
你也可以做(在你的文件的顶部):
declare var Timeline: any;
检查也below良好做法。
答
试试这个:
declare const Timeline;
答
你可以尝试从找到你的类型定义:
如果你不能找到你的图书馆,你可以自己写你的接口(和尝试把它请求到其他开发者的github页面),这个接口就像.ts文件一样。
这里是一个开始
declare global {
interface Window {
Timeline: any
}
}
答
就延长对above答案通过@Deblaton让 - 菲利普和作为一般的好习惯,它可能会更好,包括您的JS或其他css文件的部分而不是将它们放在你的index.html中。
如果您使用CLI,请使用类似这样的东西。
"styles": [
"styles.scss",
//Other style files
],
"scripts": [
"../node_modules/jsplugin/dist/js/plugin.js",
//Other script files
],
好的,谢谢,它适用于'declare var Timeline:any;' – Adrien