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

在Deno Deploy部署Express应用时遇npm包找不到问题求助

解决Deno Deploy部署Express时的「Module not found」错误

针对你遇到的问题,可尝试以下几种解决方案:

  • 指定Deno运行时版本
    Deno Deploy默认运行时可能未更新到支持npm包的1.28+版本。在项目根目录创建deno.json文件,明确指定兼容版本:

    {
      "denoVersion": "1.28.0"
    }
    
  • 调整Express监听端口
    Deno Deploy不允许手动指定监听端口(如80),需改用环境变量获取分配的端口:

    import express from "npm:express@4.18.2";
    
    const app = express();
    
    app.get("/", (_req: any, res: any) => {
      res.send("Hello World!");
    });
    
    // 使用Deno Deploy分配的端口
    app.listen(Deno.env.get("PORT") || 3000, () => {
      console.log("Server is running");
    });
    
  • 使用Import Map管理依赖
    改用import map声明npm依赖,避免npm:前缀可能的解析问题:

    1. 创建import_map.json文件:
      {
        "imports": {
          "express": "npm:express@4.18.2"
        }
      }
      
    2. 在deno.json中关联import map:
      {
        "importMap": "./import_map.json",
        "denoVersion": "1.28.0"
      }
      
    3. 修改代码中的导入语句:
      import express from "express";
      
  • 确认部署入口与命令
    在Deno Deploy的部署设置中,确保入口文件路径正确,启动命令添加必要权限:

    deno run --allow-net src/server/index.ts
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:35:28