gpt4 book ai didi

node.js - 需要 ('module/subpath' 的分辨率)

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:37 36 4
gpt4 key购买 nike

Node 如何解析 require('my-module/subpath')import * from 'my-module/subpath'

这是否总是解析为 my-module 内的 subpath.jssubpath/index.js,还是会在其他地方查找?

是否可以配置my-module以便require('my-module/subpath')import * from 'my-module/subpath ' 解析为 lib\subpath\index.js

最佳答案

How does node resolve require('my-module/subpath') and import * from 'my-module/subpath'?

是否使用requireimport , my-module/subpath将解析为 node_modules/my-module/subpath

它将在那里搜索:

  1. subpath.js
  2. package.json及其 main字段(对于 commonjs)或 module (对于 ESM)。
  3. index.js .

有关全面(虽然很长)的指南,请参阅 node resolution typescript documentation 中的部分.

注意:大多数软件包未在 my-module/subpath 中分发。格式,但使用 mainmodulepackage.json反而。一个异常(exception)是 Material-ui这对于 ESM 导出来说是这样的(参见 guide )。

Is it possible to configure my-module so that require('my-module/subpath') or import * from 'my-module/subpath' resolves to lib\subpath\index.js?

几乎所有相关工具都提供了通过别名更改模块解析的方法。如何实现这一目标取决于您使用的工具:

  • babel(来自 babel-plugin-module-resolver )
  • webpack(通过 resolve.alias 属性)
  • typescript/VSCode(在 paths 中称为 tsconfig)
  • eslint(来自 eslint-plugin-import

等等

关于node.js - 需要 ('module/subpath' 的分辨率),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404920/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com