typescript - 对于 TypeScript 项目,“类型”是否等同于“主要”?
问题描述
从模块解析文档:
同样,非相对导入将遵循 Node.js 解析逻辑,首先查找文件,然后查找适用的文件夹。所以
import { b } from "moduleB"
在源文件中/root/src/moduleA.ts
会导致以下查找:
/root/src/node_modules/moduleB.ts
/root/src/node_modules/moduleB.tsx
/root/src/node_modules/moduleB.d.ts
/root/src/node_modules/moduleB/package.json
(如果它指定了一个"types"
属性)/root/src/node_modules/@types/moduleB.d.ts
/root/src/node_modules/moduleB/index.ts
/root/src/node_modules/moduleB/index.tsx
/root/src/node_modules/moduleB/index.d.ts
所以 TypeScript 似乎没有考虑“main”属性(就像 Node.js所做的那样),但它确实会寻找“类型”。它们是等效的,还是后者仅导入 *.d.ts 文件?
解决方案
我认为您在谈论package.json
文件的属性。如果是这种情况,正如您所猜测的那样, TypeScripttypes
使用一个条目来加载模块的类型(并且仅是类型)。仍然需要该条目来加载模块的JavaScript端。main
推荐阅读
- python - 如何使用 FastAPI 返回带有换行符的响应?
- iis - 将 Blazor 服务器端与 WASM 集成
- c - 如果发生 k 次,则删除 String 中的相邻重复项---堆缓冲区溢出错误
- android - 如何重建 Android 源框架并从 adb shell 运行它们?
- python - 网络中有限分量的平均程度
- python - 警告:`pyenv init -` 不再设置 PATH。苹果系统
- excel - 查找并将唯一的多个值连接到一个单元格中
- flutter - 如何从父目录捆绑资产文件?
- amazon-web-services - 使用“通用 Dockerfile”运行时创建 AWS App Runner 服务
- python - 在 Pandas 中加入两个不同的列名称时创建的重复记录