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