如何在运行时在angular 2中加载外部js脚本

How to load external js script in angular 2 in runtime?

本文关键字:加载 外部 js 脚本 运行时 angular      更新时间:2023-09-26

我使用Twitter数字进行身份验证。它需要一个小的.js脚本来下载并初始化它。他们建议直接从服务器上获取文件。

我必须进口

<script id="digits-sdk" src="https://cdn.digits.com/1/sdk.js" async></script>

并使用类似的CCD_ 2来初始化sdk。

我使用的是angular2 webpack入门模板,它使用webpack。

早些时候我使用的是systemjs,我只需要将文件名映射到url,然后在我的组件中导入它。像这个

  var map = { 'Digits':'https://cdn.digits.com/1/sdk' };

然后将其导入像import * as Digits from 'Digits'; 这样的角度分量中

我知道有webpack外部,但它是不一致的。

ngOnInit()中的console.log(Digits)有时显示正确的对象,有时显示未定义的错误。

我在这方面运气不错。我正在使用一个日历js文件,希望从控制器的输入中获得日期结果。就我而言,它是皮卡代。首先导入文件,就像你通常在主html文件中一样。

<script src="/assets/js/pikaday.js"></script>

然后创建一个表示所需函数的类。

export class PikadaySource {
    field: any;
    firstDay: number;
    minDate: Date;
    maxDate: Date;
    yearRange: number = 1;
    disableWeekends: boolean;
    format: string = 'MM-DD-YYYY';
    init(){};
}

该类的目的是防止运输车出现问题。由于导入的脚本在全局范围内,它现在应该可以使用了。