【发布时间】:2016-12-17 21:46:10
【问题描述】:
是否可以在 TypeScript 中导入节点模块而无需在编译后实际尝试导入?
我的意思是:
我在名为 intellisense.ts 的文件中创建了一个全局变量,我在其中调用:
import * as fs from 'fs';
然后在另一个文件中引用它:
/// <reference path="./intellisense.ts" />
fs.existsSync('...');
此时 VSCode 智能感知告诉我它找不到名称“fs”。
有没有办法在不将 fs 导入其他文件的情况下解决这个问题?
请注意:
- 我只需要导入一次 fs
- 我不想从 intellisense.ts 导出 fs
- 我不想以任何方式导入 intellisense.ts
- 我确实希望 fs 在全局范围内仅作为参考
【问题讨论】:
-
你不能拥有一切。如果你想使用
fs,那么你需要从你的intellisense.ts中导出它,并且你需要将它导入到你想使用它的地方。另一种选择是在intellisense.ts中有一个导出函数,它在内部将使用导入的fs。在任何情况下,仅引用该文件仅适用于编译,但当您尝试运行它时会出现错误。
标签: typescript import intellisense declaration visual-studio-code