Javascript 在Angular 4中导入外部js文件并访问函数和变量

Javascript 在Angular 4中导入外部js文件并访问函数和变量,javascript,angular,Javascript,Angular,也许我的标题有点不清楚,所以我会尝试用一个简单的任务来解释我的问题 假设我有一个Javascript文件“File.js”: 我把这个脚本放在我的angular4项目的“src/assets/js/file.js”中 在“.angular cli.json”中,我添加了脚本的路径 "scripts": [ "../node_modules/jquery/dist/jquery.min.js", "./assets/js/modernizr.js", "./assets/js/webf

也许我的标题有点不清楚,所以我会尝试用一个简单的任务来解释我的问题

假设我有一个Javascript文件“File.js”:

我把这个脚本放在我的angular4项目的“src/assets/js/file.js”中

在“.angular cli.json”中,我添加了脚本的路径

"scripts": [
  "../node_modules/jquery/dist/jquery.min.js",
  "./assets/js/modernizr.js",
  "./assets/js/webflow.js",
  "./assets/js/file.js"
现在我的问题是如何在我的app.module.ts或任何其他组件中导入或使用此脚本文件,而不将其添加到index.html

我尝试了几种方法:

import * as test from 'assets/js/file.js';
import {test} from 'assets/js/file.js';
declare var file: any;
不幸的是,没有一个有效


如果你们能帮我的话,我将非常感谢。

你们可以使用system.js在运行时导入文件,如下所示,你们必须在节点模块中添加systemjs

System.import("src/assets/js/file.js").then(fileInstance => {
      console.log(fileInstance);
});

在component.ts中,您应该声明要使用的函数的名称

declare let encode:any 

ngOnInit(){
  encode()
}

您可以像这样将js本地导入ts文件:Import'../../../scripts/custom.js'

然后在custom.js中声明要像这样使用的方法名
declare let encode:any 

ngOnInit(){
  encode()
}