node.js - 从 Typescript 生成的导入 Node.js 模块的“默认”部分是什么?
问题描述
在打字稿文件中,我导入了文件系统和路径节点模块。我以非常标准的方式使用它们,例如:
const workDir = path.join(outputDir, "process-specs");
.
当我转译时,使用tsc
它会生成这一行:
var workDir = path_1.default.join(outputDir, "process-specs");
问题在于default
路径模块变量的附加成员。我在 Node.js路径文档中没有看到它,我想知道为什么 tsc 添加它以及它是关于什么的。
解决方案
它正在模仿 es2015 模块的默认导出:当您import foo from 'foo';
导入foo模块的默认导出时。
// 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
推荐阅读
- c# - 寻找一种更有效的方法来避免在遍历二维数组中每个条目的邻居时出现 ArrayIndexOutOfBounds 异常
- android - 如何从 Android R 中的 Hiideen 文件夹中获取文件
- nestjs - 如何在通过 JoinTable 连接的多对多关系中自我引用 typeorm 中的表?
- python - 如何获取括号中的数据并在熊猫数据框中创建新行
- css - 垂直滚动 SVG 元素使其看起来有视差的原理?
- php - 我无法取消设置 cookie
- flutter - Twitter API 1.1 搜索单个推文数据
- c - 使用 scanf 函数并在 C 中输入 'enter' 时 %d 和 %c 之间的区别
- python - 在python中的数字列表中对相同的数字进行分组
- wordpress - 从我的 woocommerce 商店的所有用户那里获得前 10 项购买