跳转到内容

建站与部署上线

“帮我做个官网 / 落地页 / 工具站 / 博客”——这类任务的关键不在写代码,在于跑通到可访问

需求 推荐
内容站、博客、文档、教程 静态站点生成器(Astro / Next.js)
交互工具、小游戏 前端框架 + 静态部署
需要数据库和登录 全栈框架 + 托管数据库

内容型站点优先静态——加载快、SEO 好、部署零成本。

以 Astro 为例:

终端窗口
npm create astro@latest my-site -- --template starlight --install --no-git --yes
终端窗口
npm run dev

改代码实时生效。这一步专注功能和内容,不要纠结视觉细节。

终端窗口
npm run build

构建通过是最低标准。构建完做冒烟测试

  • 首页能打开吗
  • 几个关键内页 200 吗
  • 导航链接都通吗

用命令快速验证:

终端窗口
for u in / /about/ /pricing/; do
echo -n "$u -> "
curl -s -o /dev/null -w "%{http_code}\n" "http://localhost:4321$u"
done

不要为了视觉细节反复截图验证——功能跑通就够,视觉问题在真实浏览器里肉眼扫一遍更快。

静态站点可以直接发布成在线链接:

把这个项目发布为在线链接

发布后你会拿到一个可访问的 URL,分享给别人就能看。

有域名就在部署平台绑定,配好 DNS 解析(通常是 CNAME 记录)。

站点上线后做三件事:

  1. 提交 sitemap 到搜索引擎站长平台(Google Search Console / 百度站长)
  2. 接流量统计(GA4 或国内替代品)
  3. 检查 SEO 三件套:sitemap、canonical、hreflang(多语言站)

npm 命令被拦截

终端窗口
# 报错 CODEBUDDY_BROKER_DENY 时:
env -u NODE_OPTIONS npm install
env -u NODE_OPTIONS npm run build

原因是环境变量 NODE_OPTIONS 被注入了拦截脚本。这个坑和用哪个 node 版本无关,只认这个环境变量。

文件权限弹窗 首次写入会弹授权,勾“始终允许”。

做中英双语时:

src/content/docs/
├── index.mdx # 中文(根路径 /)
├── getting-started/
└── en/ # 英文(/en/)
├── index.mdx
└── getting-started/

配好后 hreflang、canonical 会自动生成。每个语言版本都要有对应文件,缺失的页面会显示成未翻译的占位内容。

  • 构建无报错
  • 关键页面全部 200
  • 移动端布局没崩
  • 网站标题和描述不是默认的
  • sitemap 能访问
  • 统计代码已接入
  • 域名解析生效(如绑定)

内容自动化管线——全自动的内容生产链路。