如何明确声明一些Phaser类型的变量?

时间:2018-08-04 18:15:50

标签: typescript types typeerror phaser-framework brunch

我正在尝试将PhaserBrunchTypeScriptbrunch-phaser2骨架使用my Phaser experimention repo,但是我遇到了{{1} }:

samme

当我在TypeError变量中添加显式类型时,{{3}}中会出现一个略有不同的$ git clone https://github.com/samme/brunch-phaser2.git --branch typescript $ cd brunch-phaser2 $ npm install $ npm run start > a-phaser-game@0.0.1 start /home/sam/github/samme/brunch-phaser2 > brunch watch --server 13:49:11 - info: application started on http://localhost:3333/ 13:49:12 - error: Compiling of app/initialize.ts failed. TypeError: Cannot read property 'length' of undefined Stack trace was suppressed. Run with `LOGGY_STACKS=1` to see the trace. 13:49:12 - info: compiled 5 files into 2 files, copied 3 in 1.5 sec

TypeError

但是无论哪种情况,当我更改时:

game

对此:

$ git clone https://github.com/samestep/phaser-nonsense.git --branch type-error
$ cd phaser-nonsense
$ npm install
$ npm run start

> @ start /home/sam/github/samestep/phaser-nonsense
> brunch watch --server

13:56:42 - info: application started on http://localhost:3333/
13:56:42 - error: Compiling of app/initialize.ts failed. Error: Error 2503: Cannot find namespace 'Phaser'. (Line: 3, Col: 13)
Stack trace was suppressed. Run with `LOGGY_STACKS=1` to see the trace. 
13:56:42 - info: compiled 2 files into vendor.js, copied index.html in 1.3 sec

const game: Phaser.Game = new Phaser.Game({}); 消失了。

为什么此显式类型声明会导致const game = new Phaser.Game({}); 发生,并且如何在不删除显式类型声明的情况下解决错误?

1 个答案:

答案 0 :(得分:1)

Brunch TypeScript插件不支持引用的正确解析(documentation)。他们的建议是将plugins: { brunchTypescript: { ignoreErrors: true } }添加到您的brunch-config.js中,并单独运行tsc --noEmit -p .来检查错误。