不能。deno run 仅执行 TS/JS 模块,不解析 HTML;应使用 deno run -A --unstable https://deno.land/std@0.224.0/http/file_server.ts . 启动静态服务器。deno run 能直接打开 HTML 文件吗?不能。deno run 是执行 TypeScript/JavaScript 模块的,不是浏览器环境,它不会解析 <html> 标签、不加载 CSS、不执行内联 <script>(除非你手动用 Deno.readTextFile 读出来再塞进字符串里------那已经不是"运行 HTML"了)。你真正想做的,是「用 Deno 启一个本地 HTTP 服务器,把当前目录里的 HTML 文件当静态资源返回给浏览器」。用 deno std/http 搭个最简静态服务器Denon 不是必须的,std/http 就够用。Deno v1.30+ 内置 serveDir,一行就能服务整个目录:deno run -A --unstable https://deno.land/std@0.224.0/http/file_server.ts .注意几个关键点:立即学习"前端免费学习笔记(深入)";-A 是必需的:要读文件(--allow-read)、监听网络(--allow-net)--unstable 当前仍需:因为 serveDir 还在不稳定 API 阶段. 表示当前目录;也可以写成 ./public 指定子目录默认端口是 8080,访问 http://localhost:8080/index.html 即可为什么不用 deno serve(v1.39+)?deno serve 是 Deno 新增的顶层命令,但它**不是为静态文件设计的**------它只接受一个 JS/TS 入口文件,用来写自定义 HTTP handler(比如 export default () => new Response("hi"))。它不会自动映射 /xxx.html 到磁盘文件。常见误操作:deno serve index.html → 报错:Expected a JavaScript or TypeScript filedeno serve . → 报错:Cannot resolve module "./"所以别试 deno serve 来开 HTML 页面,它不干这活。遇到 "Not found" 或空白页怎么办?典型现象是浏览器显示 Not Found,或 HTML 渲染了但 JS/CSS 404。原因往往在这几处:没放 index.html:file_server.ts 默认只响应 / 时返回 index.html;直接访问 /foo.html 要求文件真实存在且路径匹配路径大小写敏感:Windows/macOS 文件系统可能不敏感,但 file_server.ts 的路由是严格区分大小写的CSS/JS 路径写死为绝对路径(如 /css/app.css),但服务器没配 public/css/ 目录 → 浏览器发请求,服务器找不到就 404用了 import 语法引入本地模块但没加 .js 后缀 → Deno 不会自动补,报 Import not found调试建议:打开浏览器开发者工具的 Network 标签页,看哪个请求返回了 404,再比对文件实际路径和 HTML 里写的 src/href 值。本地开发 HTML,最稳的方式就是老老实实用 file_server.ts,别绕弯去封装或改端口逻辑------除非你真需要自定义路由或压缩。
相关推荐
小鱼~~2 小时前
进程和线程ruan1145142 小时前
Redis--个人学习记录小红的布丁2 小时前
BIO、NIO、AIO 与 IO 多路复用:select、poll、epoll 详解袋鼠云数栈2 小时前
AI 时代,企业为何必须重新思考数据底座?Elastic 中国社区官方博客2 小时前
在 Elastic 中使用 OpenTelemetry 内容包可视化 OpenTelemetry 数据断眉的派大星2 小时前
pytorch中保存训练模型和加载训练模型的用法C+++Python2 小时前
如何学习Python的应用领域知识?疯狂打码的少年2 小时前
【Day12 Java转Python】Python工程的“骨架”——模块、包与__name__Mike117.2 小时前
GBase 8a UNION 和 UNION ALL 的使用边界