问题描述
我正在尝试从位于vendor
下src/
子文件夹内的生成的Angular库包中导入模块。
index.html
<head>
...
<script type="text/javascript" charset="utf-8" src="./vendor/example/bundles/example.umd.js"></script>
</head>
尽管如此,我在app.module.ts
中从中导入模块时遇到了一些麻烦。拜托,有什么想法吗?
似乎角度库的@ angular / core和@ angular / common peerDependencies也应该捆绑在脚本中才能正常工作。
我将不胜感激
解决方法
您不应添加指向本地文件的<script>
标记,因为该本地文件不会包含在构建中。
相反,请使用angular.json
文件的scripts configuration section,如下所示:
"scripts": [
{ "input": "src/vendor/example/bundles/example.umd.js" }
]
这会将example.umd.js
文件嵌入Angular构建的专用文件中。由于将其打包为UMD,因此对象将附加到window
,其中包含您要导入的库的API。
为了阻止TypeScript抱怨不存在的变量,只需添加以下内容:declare var example;
(用全局对象的真实名称替换example
)。