網站搜尋

模組 - 何時需要三斜線引用?


當 Anders Hejlsberg 在以下影片大約 35:00 談論外部模組時…

安德斯·海爾斯伯格:介紹 TypeScript

... 為什麼檔案 server.ts 需要對 node.d.ts 使用三斜線參考,而 hello.ts 卻不需要對 server.ts 使用類似的參考?

特別是在 hello.ts 中,他提到已經有了智能感知,並且可以使用從 server.ts 匯出的項目。所以三斜線參考還能增加什麼呢?

答案#1

你在兩種情況下需要使用三斜線引用:

  • 當你參考 JavaScript 類型定義時,例如 node、jQuery 等的定義,有一個很棒的收藏可以參考: https://github.com/DefinitelyTyped/DefinitelyTyped
  • 當我們想使用 --out 進行編譯時,你可以使用 /// <reference 來引用你的檔案。

當使用 外部模組(例如 amd/commonjs)時,你需要一個 import/require 的組合。如果你不知道這些是什麼意思(amd/commonjs 是 JavaScript 術語,並不是 TypeScript 特有的),你不用擔心。只要使用 /// <reference 並用 --out 編譯即可。

附註:我有一個關於內部模組與外部模組的影片教學:TypeScript 模組解析:內部模組、搭配 RequireJS 的 AMD、搭配 NodeJS 的 CommonJS

更新:

請在新專案中使用 tsconfig.json 而不是參考註解: https://basarat.gitbook.io/typescript/project/compilation-context