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

Deno运行index.js无终端输出且端口无法开启,寻求解决方案

Deno运行无输出且8000端口无法开启的排查方案

核心排查步骤

1. 补全网络权限

Deno默认限制网络访问权限,启动HTTP服务必须显式授权。执行命令时添加--allow-net参数:

deno run --allow-net index.js

缺少权限会导致Deno静默失败,无任何终端输出,服务自然无法启动。

2. 检查端口占用情况

确认8000端口是否被其他进程占用:

  • Windows系统:
netstat -ano | findstr :8000
  • macOS/Linux系统:
lsof -i :8000

若端口被占用,可关闭对应进程,或修改代码中的端口号(比如改为8080)。

3. 修正代码中的冗余问题

你的代码存在两处可优化点,虽不直接导致启动失败,但可能引发后续显示异常:

  • 移除HTML实体转义,直接使用原始HTML字符
  • 取消不必要的数组join('')操作

修正后的代码:

function app(){
    return `
      <div class="header">
        <h1>Deno Project</h1>
      </div>
    `;
  }
  
  Deno.serve({ port: 8000 }, async (_req) => {
    return new Response(
        app(),
        {
            status: 200,
            headers: { "content-type": "text/html" },
        }
    );
  });

4. 验证Deno版本兼容性

Deno.serve是Deno 1.28版本新增的API,若安装版本过低会导致函数不存在。查看当前版本:

deno --version

版本低于1.28时,执行以下命令升级:

deno upgrade

5. 测试最简服务可用性

创建test.js文件写入最简服务代码:

Deno.serve({ port: 8000 }, () => new Response("Hello Deno"));

用授权命令运行:

deno run --allow-net test.js

若终端输出Listening on http://localhost:8000/,说明原代码的转义字符或语法细节可能存在隐性问题,可逐步对比排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:03:19