如何在Angular 6+中正确使用第三方JavaScript库

时间:2018-10-19 12:23:27

标签: javascript angular reference global angular-cli-v6

我想在我的Angular项目中使用一些第三方库,但是由于Angular 6版本,我得到了参考错误:全局未定义。我已经安装了该库并添加了@types库。不幸的是我还没开始工作。

有没有人可以向我解释如何在Angular 6及更高版本中使用第三方库?我不想只为一个JavaScript库恢复到Angular 5。

2 个答案:

答案 0 :(得分:1)

有几种使用方法,具体取决于您的需求。

通常来说,对于那些传统的未类型化js库,您始终可以使用以下内容:

import * as jquery from 'jquery'

对于需要全局访问权限的库,您可能需要调整angular.json文件并添加对scripts字段的引用:

"scripts": [
    "node_modules/zoomooz/jquery.zoomooz.min.js"
],

对于具有默认导出语句的一些棘手的库,您甚至可能需要执行以下操作:

import LIBRARYNAME from 'library-name'(不带括号)

所以这实际上取决于您的需求。

答案 1 :(得分:0)

将此添加到您的index.html

<script>
  if (global === undefined) {
    var global = window;
  }
</script>

来自:https://github.com/aws-amplify/amplify-js/issues/678