0
我有2个文件打字稿 -编译多个打字稿文件分别
a.ts:
let some : string = "some";
b.ts:
console.log(some);
如果我编译这两个文件将其添加到包括选项在tsconfig中(或通过在命令行上提供),b.ts中没有定义某些错误。我怎样才能分别编译这两个文件?首先分享命名空间对他们来说甚至没有意义。
我有2个文件打字稿 -编译多个打字稿文件分别
a.ts:
let some : string = "some";
b.ts:
console.log(some);
如果我编译这两个文件将其添加到包括选项在tsconfig中(或通过在命令行上提供),b.ts中没有定义某些错误。我怎样才能分别编译这两个文件?首先分享命名空间对他们来说甚至没有意义。
JavaScript中没有命名空间。如果您在浏览器中加载了两个编译的文件(按照正确的顺序),console.log
将工作。 TypeScript重现此功能。
JavaScript(和TypeScript)的方式是使用ES6 modules,例如Webpack。
你的模块例如:
// a.ts
export let some = "some";
// b.ts
console.log(some); // Error here
// c.ts
import { some } from "./a"
console.log(some); // OK
感谢。 我想要做的一件事是能够在多个文件中定义相同的命名空间,但仍然能够在不使用命名空间变量的情况下在其他文件中引用变量(在相同的命名空间中)。可能吗? – Nishant
With [TypeScript _namespaces_](http://www.typescriptlang.org/docs/handbook/namespaces.html)?不,这是不可能的。命名空间被编译为多个IIFE,变量只能在本地IIFE中访问。 – Paleo