javascript - Angular - 如何从 JS 包中导入模块

标签 javascript angular typescript polyfills angular-library

我正在尝试从位于 src/ 下的 vendor 子文件夹中生成的 Angular 库包导入模块。

index.html

<head>
...
    <script type="text/javascript" charset="utf-8" src="./vendor/example/bundles/example.umd.js"></script>
    
</head>

不过,我在从 app.module.ts 中导入模块时遇到了一些问题。请问,知道怎么做吗?

似乎angular库的@angular/core和@angular/common peerDependencies也应该捆绑在脚本中才能正常工作。

我会很感激任何形式的帮助

最佳答案

你不应该添加 <script>引用本地文件的标记,因为该本地文件不会包含在构建中。

相反,使用 scripts configuration sectionangular.json文件,像这样:

"scripts": [
    { "input": "src/vendor/example/bundles/example.umd.js" }
]

这将嵌入 example.umd.js文件在 Angular 构建的专用文件中。因为它被打包为 UMD,一个对象将附加到 window其中包含您要导入的库的 API。

为了停止 TypeScript 提示不存在的变量,只需添加:declare var example; (将 example 替换为全局对象的真实名称)。

关于javascript - Angular - 如何从 JS 包中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64167543/

相关文章:

javascript - 如何在 Qt Creator 中的 main.cpp 文件之外声明函数

javascript - 计算标签并输出变量

Angular 2 - ngModel 不检查复选框

angular - 如何在 Angular/ ionic 的每个服务调用中显示/隐藏加载程序?

typescript - NestJS 随处访问 Reponse

typescript - 根据接口(interface)过滤对象

javascript - 根据屏幕大小(React)以不同顺序渲染组件

javascript - 如何使用函数而不发生冲突

javascript - 如何以 Angular 将自定义 header 添加到httpRequest

angular - ERROR TypeError : You provided 'undefined' where a stream was expected. 您可以在 Angular 服务中提供 Observable、Promise、Array 或 Iterable