在搜索了无数的资料后得到答案,因为我使用的typescript版本比较高,新版本的ts特性会要求使用相对路径导入的时候带上文件扩展名以提升性能 > 举例来说,NodeJs 中的 ESM 强制要求你的相对导入路径携带扩展名,即 import ns from "./mod.mjs"(你也可以使用 > --experimental-specifier-resolution=node 配置来启用自动地路径解析),这主要是为了贴合 NodeJs > 在服务器环境下的性能表现。然而大部分的构建工具其实不要求你这么做,它会融合 ESM 与 CJS 的模块解析策略。 所以,只需要在package.json中带上“--experimental-specifier-resolution=node”指令即可 如: > cross-env NODE_OPTIONS="--no-warnings --loader=ts-node/esm --experimental-> specifier-resolution=node " node index.ts 参考:[TS 5.0 新特性](https://link.segmentfault.com/?enc=ohAroOLxecSxkCq32eZ8Zw%3D%3D.EA89fJRtQuPkt3fxSqTnu3aKcOqeQ3gJWbSllRBLTnEwyek1elfDTxzhugtKIi%2BX)