我正在尝试使用的框架将Phaser与Brunch和TypeScript一起使用,但是我遇到了:samme
brunch-phaser2
TypeError
$ git clone https://github.com/samme/brunch-phaser2.git --branch typescript
$ cd brunch-phaser2
$ npm install
$ npm run start
> [email protected] 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
,我的Phaser实验存储库中会出现一个略有不同的内容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({});
在TypeError
消失。
为什么此显式类型声明导致aTypeError
发生,如何在不删除显式类型声明的情况下解决错误?
Brunch TypeScript插件不支持引用(文档)的正确解析。他们的建议是添加plugins: { brunchTypescript: { ignoreErrors: true } }
到您的系统中,brunch-config.js
并单独运行tsc --noEmit -p .
以检查错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句