在使用 angular2-cli 创建的项目中,我需要使用一些应该在全局 javascript 范围内可用的第 3 部分 javascript 库(例如 tween.js 库中的 TWEEN 命名空间)。
根据angular-cli guide to install a js library as global,我已经使用 npm 安装了它,并将库脚本添加到 angular-cli.json 文件的“scripts”数组中。
"scripts": [
"../node_modules/tween.js/src/Tween.js"
],
要在 Angular 组件中使用全局 TWEEN 命名空间,我已在文件开头将其声明为常量变量,如下所示:
import { Component, OnInit } from '@angular/core';
declare const TWEEN: any;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
title = 'app works!';
constructor() { }
ngOnInit() {
let tween = new TWEEN.Tween({x: 0}).to({x: 1}, 2000);
// ..
}
}
这可行,但问题是我没有以这种方式获得任何第 3 部分库的任何智能感知(我正在使用 WebStorm)。我能做些什么来让智能感知工作吗?还是有更好的方法在 Angular 2 工作流程中导入第 3 部分 javascript 库?