我正在尝试将外部js文件导入到我的组件中。
external.js
var x=9;component.ts
import '../../assets/api/external.js';
declare let x: any;
....
console.log(x);我得到了:
ERROR ReferenceError: x is not defined如何从组件访问x?它不会抱怨找不到js文件。
发布于 2017-11-18 14:27:59
请将您的脚本添加到角-cli.json中作为全局脚本。
"scripts": [
"../external.js",
"../node_modules/.....min.js",
"../node_modules/jspdf-autotable/dist/....js"
],如果有帮助的话。以下是参考链接:https://github.com/angular/angular-cli/wiki/stories-global-scripts
发布于 2017-11-18 16:12:02
导入js没有将任何函数或类导出到组件。用于导入的MDN接口订阅import 'module_name'
只为副作用导入整个模块,而不导入任何内容。它运行模块的全局代码,但实际上不导入任何值。
因此,更改并添加类或函数,然后导出。
发布于 2017-11-18 18:52:30
您可以在角应用程序中从anthoer脚本中调用varibale。
步骤1.在assests/javascript文件夹中创建demo.js文件。
export function test1(){
console.log('Calling test 1 function');
}步骤2.在assests/javascript文件夹中创建demo.d.ts文件。
export declare function test1();步骤3.在组件中使用它
//User defined file path
import { test1 } from '../assets/javascript/demo';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
console.log(test1());
}
}注意: js和.d.ts文件名应该相同
https://stackoverflow.com/questions/47366887
复制相似问题