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

Astro dev、preview与@astro/node独立服务器的实现差异解析

AstroJS三种运行模式(dev/preview/@astro/node独立服务器)核心差异

1. dev 模式

  • 底层确实基于Vite开发服务器,主打开发体验,支持热重载、源码实时编译、开发专属调试工具。
  • 配置方式:通过astro.config.mjs里的server字段(端口、host)和vite.server字段(HTTPS、代理等),你现有配置里的server.port和vite.server.https就是针对dev模式生效的。
  • 启动命令:astro dev

2. @astro/node 独立服务器(standalone模式)

  • 你的推测完全正确:它不基于Vite,是Astro基于Node.js原生http/https模块搭建的纯生产级服务器,无任何开发环境依赖。
  • 用途:生产环境部署,构建后生成独立的Node应用包(dist/server/entry.mjs),可直接用Node启动,无需额外依赖Astro或Vite。
  • 配置方式:构建时通过adapter: node({mode: 'standalone'})启用,启动时通过环境变量配置端口、HTTPS证书(比如你用的PORT、SERVER_KEY_PATH、SERVER_CERT_PATH),astro.config.mjs里的server/vite配置对它完全不生效。
  • 启动命令:PORT=xxx SERVER_KEY_PATH=xxx SERVER_CERT_PATH=xxx node dist/server/entry.mjs

3. preview 模式

  • 底层基于Vite预览服务器,但和dev模式核心区别是:它加载的是astro build后生成的生产构建产物,用来模拟生产环境运行效果,不会实时编译源码。
  • 配置方式:通过astro.config.mjs里的preview字段(端口、host),或者vite.preview字段(HTTPS、代理等),比如给preview配置HTTPS需在vite里补充:
    vite: {
      preview: {
        https: {
          key: fs.readFileSync('./certs/mykey.key'),
          cert: fs.readFileSync('./certs/mycert.crt'),
        },
      }
    }
    
  • 启动命令:astro preview(必须先执行astro build)

关键差异总结

模式底层依赖核心用途配置生效位置启动前提
devVite开发服务器日常开发、实时调试server + vite.server无需构建
@astro/node独立服务器Node原生HTTP服务器生产环境部署启动时环境变量需执行astro build
previewVite预览服务器验证生产构建产物的运行效果preview + vite.preview需执行astro build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:42:43