0

我有 2 个打字稿文件 -

a.ts:

let some : string = "some";

b.ts:

console.log(some);

如果我通过将这两个文件添加到 tsconfig 中的 include 选项(或通过在命令行中同时提供这两个文件)来编译这两个文件,那么在 b.ts 中未定义某些文件不会出现错误。如何分别编译这两个文件?他们首先共享命名空间甚至没有意义。

4

1 回答 1

1

JavaScript中没有命名空间。如果您在浏览器中加载这两个编译文件(以正确的顺序),console.log它将起作用。TypeScript 再现了这个特性。

JavaScript(和 TypeScript)的方式是使用ES6模块,例如使用 Webpack。

您的模块示例:

// a.ts
export let some = "some";

// b.ts
console.log(some); // Error here

// c.ts
import { some } from "./a"
console.log(some); // OK
于 2017-02-27T14:15:37.357 回答