是否有可能在TypeScript中導入節點模塊,但實際上並未在編譯後導入?TypeScript只作爲聲明導入?
我的意思:
我在一個文件中創建一個全局變量稱爲intellisense.ts在我稱之爲:
import * as fs from 'fs';
然後在另一個文件中引用它想:
/// <reference path="./intellisense.ts" />
fs.existsSync('...');
在這一點VSCode intellisense告訴我,它無法找到名稱'fs'。
有沒有辦法解決這個問題,而無需在其他文件中導入fs?
請注意:
- 我需要有FS進口只有一次
- 我不想FS從intellisense.ts出口
- 我不想導入intellisense.ts在任何方式
- 我確實想在全球範圍內FS只能作爲參考
你不能擁有這一切。如果你想使用'fs',那麼你需要從'intellisense.ts'中導出它,並且你需要將它導入到你想使用它的地方。另一種選擇是在'intellisense.ts'中有一個導出函數,它將在內部使用導入的'fs'。在任何情況下,僅僅引用該文件將僅用於編譯,但是當您嘗試運行它時,將會出現錯誤。 –