我正在尝试创建一个包含Phaser的组件。
Comp.ts(摘录):
/// <reference path=“../phaser/phaser.d.ts” />
import { Component, OnInit } from '@angular/core';
import * as Phaser from 'phaser';
export class Comp implements OnInit {
constructor() {
console.log(Phaser);
}
ngOnInit() {
console.log(Phaser);
}
}
在system-config.ts中:
System.config({
//…
paths: {
'phaser': 'app/phaser/phaser.min.js'
});
我已将所有Phaser代码复制到app / phaser /中。 WebStorm在我的组件中找到Phaser的声明,并使用“ng build / ng serve”进行构建工作正常。
但是,构造函数和ngOnInit中的console.log(Phaser)都返回“Object {}”。但是如果我在浏览器中执行console.log(Phaser),它将返回正确的Phaser对象。
如何在组件中找到Phaser对象?
答案 0 :(得分:3)
简单的解决方案是从system-config.ts中删除所有内容,而不是执行:
import * as Phaser from 'phaser';
我做了:
import '../phaser/phaser';
我知道这不是打字稿中输入内容的首选方式,但是Phaser的编译方式似乎是最简单的方法。我尝试用Phasp将Phaser拆分成单独的文件,但是遇到了p2的麻烦。