如何编译我的 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)可以自动完成。这也很有效。
不幸的是,我的项目一直在增长,所以我想将所有 类 分成单独的文件。这显然说起来容易做起来难,但似乎在 2016 年最好的方法是制作我所有的文件 "external",并使用 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'.
我变化太大了,不知道怎样才是最好的前进方式。
get tons of errors like this: Error:(40, 10) TS2503: Cannot find namespace 'Phaser'.
你的 tsconfig files
应该包含 phaser.d.ts
.
或者,您可以完全删除 files
,让 TypeScript 包含 包含 tsconfig.json.
的目录下的所有文件
我一直在同时学习 Phaser 和 TypeScript,目前进展顺利。
我开始只是通过脚本标签让 index.html 调用 phaser.js 和 app.js,效果很好。我使用 /// <reference path="./node_modules/phaser/typescript/phaser.d.ts" />
格式,以便我的 IDE(PhpStorm;基本上是 WebStorm)可以自动完成。这也很有效。
不幸的是,我的项目一直在增长,所以我想将所有 类 分成单独的文件。这显然说起来容易做起来难,但似乎在 2016 年最好的方法是制作我所有的文件 "external",并使用 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'.
我变化太大了,不知道怎样才是最好的前进方式。
get tons of errors like this: Error:(40, 10) TS2503: Cannot find namespace 'Phaser'.
你的 tsconfig files
应该包含 phaser.d.ts
.
或者,您可以完全删除 files
,让 TypeScript 包含 包含 tsconfig.json.