【发布时间】:2020-02-15 21:02:45
【问题描述】:
我有一个在纯 HTML 应用程序上运行良好的外部库(Grapecity 的 web-designer.js)。我想使用这个库,因为它在我的一个 Angular 组件中。我添加了对这个库的引用,但是在 Angular 中导入文件时出现错误。
这是我引用库的方式(jQuery 是一个依赖项):
import '../app/lib/scripts/jquery';
import '../app/lib/scripts/web-designer';
图书馆的cdn链接是http://cdn.grapecity.com/ActiveReports/AR13/webdesignerresourcefiles/web-designer.js
这些是我在加载 Angular 应用程序时遇到的错误。请注意,当我使用 require 而不是 import 时,我会遇到同样的错误。依赖项 'Barcode' 和 'dv' 在 web-designer 库中,但 Angular 无法找到它。
在 JS 库中导出模块似乎有些问题。我能够以相同的方式引用 jQuery,但不能引用 web-designer.js。
我想修改 JS 库以便能够直接使用它(因为它在纯 HTML 应用程序上运行良好)。该文件(在上面的链接中给出)又大又小,我无法修改它以满足我的需要。
如果有人遇到类似问题,请寻找解决方案。
【问题讨论】:
-
这对 DOM 库(电子表格?)来说似乎相当沉重。一般来说,不推荐集成修改 DOM 的 vanilla JS 库,因为它们会干扰 Angular 的 DOM 操作。
-
话虽如此,也许您可以将库包含在 index.html 文件中,具体取决于您的目标。但是您不一定能够通过 Angular 与该库进行交互。
-
谢谢萨姆鲁。你有没有看一下js文件。可悲的是,我无法在 index.html 的脚本标记中加载文件。我的 SPA 有一个限制,它完全忽略了脚本标签。我正在使用在 Angular 之上编写的包装器。
标签: javascript node.js angular typescript ecmascript-6