Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 是";“类型”;相当于;“主要”;对于类型脚本项目?_Typescript_Node Modules_Package.json - Fatal编程技术网

Typescript 是";“类型”;相当于;“主要”;对于类型脚本项目?

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

从:

类似地,非相对导入将遵循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
    (如果指定了
    “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
    可能(也)指向完整的模块逻辑。