Deno导入私有GitHub仓库模块时相对路径加载失败排查与解决
问题解决:私有GitHub模块导入后相对路径文件404
问题场景
- 按Deno官方文档配置
DENO_AUTH_TOKENS环境变量(格式:xxxxxx@raw.githubusercontent.com),用于访问私有GitHub仓库模块 - 主模块文件可正常加载,但模块内所有相对路径导入的文件均返回404错误(路径正确但看似未授权)
- 执行
deno run -L debug main.ts开启调试,输出显示已成功解析1个认证令牌,排除认证配置问题
根因分析
从Node.js迁移模块到Deno时,遗漏了所有相对路径导入必须添加.ts后缀的要求:
- Node.js支持省略文件后缀(如
.js/.ts),Deno则要求显式声明所有本地模块的文件后缀 - 省略后缀后,Deno请求的路径实际是不带后缀的地址,导致GitHub返回404,而非权限问题
解决方法
逐一检查模块内所有相对路径导入语句,为每个本地文件添加.ts后缀:
// 错误写法(Node.js风格) import { utils } from './utils'; // 正确写法(Deno要求) import { utils } from './utils.ts';
内容的提问来源于stack exchange,提问作者DGPGDEV
相关产品推荐
相关产品推荐

