繁体   English   中英

如何编译TypeScript Phaser项目,使其仅使用phaser.d.ts引用路径找到“ Phaser”命名空间?

[英]How can I compile my TypeScript Phaser project such that it will find the “Phaser” namespace using only a phaser.d.ts reference path?

我已经同时学习了Phaser和TypeScript,并且一切都进展顺利。

我刚开始通过脚本标签让index.html调用phaser.js和app.js,效果很好。 我使用/// <reference path="./node_modules/phaser/typescript/phaser.d.ts" />格式,以便我的IDE(PhpStorm;基本上是WebStorm)可以自动完成。 这也很好。

不幸的是,我的项目一直在增长,所以我想将我所有的类都分离到单独的文件中。 这显然说起来容易做起来import {MyModule} from "./src/MyModule"; ,但是似乎在2016年,做到这一点的最佳方法是将我的所有文件都设为“外部”,并使用import {MyModule} from "./src/MyModule";import {MyModule} from "./src/MyModule"; 句法。

使它停止引发大量错误的最简单方法是创建一个如下所示的tsconfig.json文件:

{
  "module": "commonjs",
  "target": "ES6",
  "files": [
    "app.ts"
  ]
}

因此,现在我包含了许多仅包含本地项目的文件,其中仅包含export class XYZ { ... } ,并且它们可以正常工作...而且由于包含了phaser.d.ts,我可以自动完成Phaser对象的操作...

...但是,当我编译时,出现了很多这样的错误: Error:(40, 10) TS2503: Cannot find namespace 'Phaser'.

我已经做了很多改变,我不确定最好的方法是什么。

出现如下大量错误:错误:(40,10)TS2503:找不到名称空间“ Phaser”。

您的tsconfig files应包含phaser.d.ts

或者,您可以完全删除files以使TypeScript 包含tsconfig.json目录下的所有文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM