2017-12-02 126 views
0

我想用打字稿用在奥里利亚CLI应用Phaser, NPM正确安装运行,并且我已经修改aurelia.json如下导入移相器奥里利亚

... 
{ 
    "name": "phaser", 
    "path": "../node_modules/phaser/build", 
    "main": "phaser" 
}, 
.... 

当我尝试使用移相器一个ts文件,它表示移相器是未定义的。而事实上,看起来cli鞋垫,似乎并没有跟踪移相器。如果我将依赖项名称更改为“phaserjs”,它会开始跟踪它,但当然由于导入需要其他名称,因此我无法使用它。

import {autoinject} from 'aurelia-framework'; 
import * as phaser from "phaser"; 

@autoinject 
export class Login { 
    attached():void{ 
     console.log("this print undefined", Phaser); 
    } 
} 

我一直在使用进口*为从“相位”“相位”,进口{}游戏并没有什么移相器似乎工作尝试。 但是,查看vendor-bundle.js,找到phaser.js行。所以我不知道为什么我不能用它

任何帮助将是巨大的。

回答

0

对于有人用同样的问题后: 移相2X没有设计成模块化,。为了能够使用它,你需要导出它需要的一些依赖项。 首先,使用phaser-ce(Community-edition),它支持webpack。 二是出口它的依赖:

在奥里利亚使用requirejs,修改aurelia.json供应商的依赖。

 { 
     "name": "pixi", 
     "path": "../node_modules/phaser-ce/build/custom", 
     "main": "pixi", 
     "exports": ["PIXI"] 
     }, 
     { 
     "name": "p2", 
     "path": "../node_modules/phaser-ce/build/custom", 
     "main": "p2", 
     "exports": ["p2"] 
     }, 
     { 
     "name": "phaser-ce", 
     "path": "../node_modules/phaser-ce/build/custom", 
     "main": "phaser-split", 
     "exports": ["Phaser"] 
     }, 

现在你可以使用移相器没有问题

import * as Phaser from "phaser-ce"; 

移相-CE还包括里面的模块文件夹 “分型”

打字稿定义