脚本:"../src/assets/tracking/build/tracking-min.js“,
从“跟踪”进口跟踪;
在铬检测窗口中,我可以悬停在“跟踪”上,看到所有的属性如下所示:

我甚至可以在控制台窗口中调用ColorImage构造函数!:

然而,当它试图在我的代码中执行构造函数时,我会得到关于跟踪未定义的错误:

我认为这是因为我没有以传统的DI方式通过构造函数传入跟踪对象,但当这样做时,我得到了一个错误,即命名空间不能用作类型:

我唯一能想到的另一件事是尝试在主index.html文件中添加外部引用,但是在严格的MIME检查方面出现了一个错误。
为了澄清:这一切都发生在我的角组件构造函数中(当跟踪方法被执行时)
有什么想法吗?
发布于 2018-07-29 12:48:48
转到您的node_modules文件夹,并找到以下文件:"node_modules/tracking/build/tracking.js“。打开文件并将这一行代码添加到文件的末尾:
module.exports = window.tracking保存文件并使用此代码导入它:
import * as tracking from 'tracking';发布于 2018-07-29 09:37:49
我不认为您可以在外部库中使用DI。但是,您应该能够在构造函数中创建一个新实例:
import tracking from 'tracking';
constructor(...) {
this.colors = new tracking.ColorTracker(...);
}
myFunction() {
this.colors.doWhateverIWant();
}如果您只想在整个应用程序中只需要一个跟踪实例,那么您必须创建自己的trackingService并注入该实例。
发布于 2018-07-29 13:17:24
另一个解决方案是通过脚本标记引用tracking.js:
<html>
<head></head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tracking.js/1.1.3/tracking-
min.js"></script>
</body>
</html>在你的component.ts中写:
(window as any).tracking.ColorTracker(["magenta"]);https://stackoverflow.com/questions/51578420
复制相似问题