在打字稿文件中,我导入了文件系统和路径Node模块。我以非常标准的方式使用它们,例如:
const workDir = path.join(outputDir, "process-specs");
。
当我使用tsc
进行转换时,它会生成此行:
var workDir = path_1.default.join(outputDir, "process-specs");
问题在于路径模块变量的其他default
成员。我在Node.js path documentation中看不到它,并且想知道为什么tsc添加了它,这是关于什么的。
答案 0 :(得分:2)
它正在模拟es2015模块的默认导出:执行import foo from 'foo';
后,您将成为foo模块的importing the default export。
// foo.ts
export default foo;
// otherfile.ts
import foo from 'foo';
与命名的导出
// foo.ts
export foo;
// otherfile.ts
import { foo } from 'foo';
如果仅在node.js中而不是在浏览器中运行,则可以像平常一样仅使用require
,例如const fs = require('fs');
。您需要安装节点类型,以便编译器理解它:
npm install --save-dev @types/node