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

执行npm run build遇CustomError:无法找到导入模块求助

问题原因解析

1. ES模块规范的严格要求

你的项目通过package.json中的"type": "module"启用了ES模块(ESM)模式。在ESM规范下,Node.js的模块解析器要求导入语句必须指定完整的文件扩展名,而你在gulpfile.ts中的导入语句import { lzwEncode } from './src/utils/lzw';没有添加.ts后缀,导致解析器无法定位到实际存在的lzw.ts文件。

2. ts-node ESM加载器的行为限制

虽然你在tsconfig.json中配置了"ts-node": { "esm": true },但ts-node的ESM加载器并没有自动补全.ts扩展名的逻辑。在ESM模式下,它完全遵循Node.js的模块解析规则,不会像CommonJS模式那样尝试自动补全缺失的扩展名,因此无法识别不带.ts的导入路径。

快速验证方案

你已经确认目标文件存在,只需修改导入语句添加.ts扩展名:

import { lzwEncode } from './src/utils/lzw.ts';

重新执行npm run build即可验证该原因是否成立。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:23:16