Typescript 是";“类型”;相当于;“主要”;对于类型脚本项目?
从: 类似地,非相对导入将遵循Node.js解析 逻辑上,首先查找文件,然后查找适用的文件夹。 因此Typescript 是";“类型”;相当于;“主要”;对于类型脚本项目?,typescript,node-modules,package.json,Typescript,Node Modules,Package.json,从: 类似地,非相对导入将遵循Node.js解析 逻辑上,首先查找文件,然后查找适用的文件夹。 因此从源文件/root/src/moduleA.ts中的“moduleB”导入{b} 将导致以下查找: /root/src/node_modules/moduleB.ts /root/src/node_modules/moduleB.tsx /root/src/node_modules/moduleB.d.ts /root/src/node\u modules/moduleB/package.json
从源文件/root/src/moduleA.ts中的“moduleB”
导入{b}
将导致以下查找:
/root/src/node_modules/moduleB.ts
/root/src/node_modules/moduleB.tsx
/root/src/node_modules/moduleB.d.ts
/root/src/node\u modules/moduleB/package.json
(如果指定了“type”
属性)
/root/src/node_modules/@types/moduleB.d.ts
/root/src/node\u modules/moduleB/index.ts
/root/src/node_modules/moduleB/index.tsx
/root/src/node\u modules/moduleB/index.d.ts
因此,TypeScript似乎没有考虑“main”属性(如Node.js),但它确实查找“type”。它们是等效的,还是后者只导入*.d.ts文件?我想您所说的是包.json
文件的属性。如果是这种情况,正如您所猜测的,types
是TypeScript用于加载模块的键入(并且仅限于键入)的条目。加载模块的JavaScript端仍然需要main
条目。步骤4似乎有误。你从哪里得到的?正如在帖子中提到的,从。我想这就是TS解决打字问题的方式。它仍然可以使用节点模块解析策略来考虑main
,这也在docsGreat中提到。因此,如果类型
指向一个实际模块,其中包含逻辑和变量,我不能以这种方式导入它,可以吗?您需要一个主
(或者在新版本的NodeJS中有一个导出
),否则node将无法导入它。这是一个运行时条件。在使用TypeScript开发时,您的工具将只关心类型
条目,以便对导入的使用进行类型检查。您的类型定义文件可能与主模块文件位于同一目录中,因此在这种情况下,types
可能(也)指向完整的模块逻辑。