Вызовите функцию чистого javascript из компонента Angular 2

У меня есть один файл с десятками функций javascript. Я хочу, чтобы импортировать этот файл в компонент Angular 2 и запустить функцию init(), которая определена в файле "external.js".

import { Component, AfterViewInit } from '@angular/core';

import "../../../../assets/external.js";

@Component({
    selector: 'app-component',
    templateUrl: 'app.component.html'
})
export class ComponentNameComponent implements AfterViewInit {
    constructor() { }

    ngAfterViewInit(): void {
      // invoke init() function from external.js file
    }
}

external.js загружается с использованием import и в ngAfterViewInit() Я хочу вызвать функцию init(), которая находится в external.js, которая вызывает все другие методы в этом внешнем файле.

Вот часть external.js:

function init() {
  callFunction1();
  callFunction2();
}

Ответ 1

Вы можете импортировать и объявлять свой внешний объект. после этого вы можете использовать его в своем компоненте.

import 'external.js'
declare var myExtObject: any;

Я привел пример в plunker: https://plnkr.co/edit/4CrShwpZrDxt1f1M1Bv8?p=preview

Надеюсь это поможет.