You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node 19中package.json的imports字段能否支持多级目录别名导入?

Node 19 package.json imports 别名多级目录问题解析

你的情况是正常的,当前配置的通配符规则不支持多级子目录导入,原因和解决方法如下:

问题原因

你配置里的"#fruits/*": "./src/fruits/*.js"使用的是单级通配符*,它只能匹配#fruits/之后的一级路径(比如#fruits/fruits.js),无法识别包含斜杠的多级嵌套路径(比如#fruits/pseudo/pseudofruits.js)。这是Node.js imports字段通配符的默认匹配逻辑。

另外,你配置的"#fruits/*.js": "./src/fruits/*.js"属于冗余配置,#fruits/*已经能匹配带.js后缀的一级文件,无需重复设置。

解决方法

如果要支持#fruits/开头的所有多级路径,只需将通配符改为双星**,同时调整目标路径的匹配规则:

"imports": {
  "#fruits/**": "./src/fruits/**/*.js",
  "#vegetables/**": "./src/vegetables/**/*.js"
}

配置完成后,import * from "#fruits/pseudo/pseudofruits.js"就能正确映射到./src/fruits/pseudo/pseudofruits.js。

Node.js的imports字段中,**通配符可以匹配任意字符序列(包括斜杠),刚好满足多级目录的匹配需求。

内容的提问来源于stack exchange,提问作者Bruno Peixoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:39:07