边缘星云

返回

部署

将你的网站部署到各种平台

包模式#

本主题(v4.0.0及以上版本)已集成NPM包模式。推荐的方式是移除本地包文件,从NPM安装主题集成。如果由于某些原因你需要修改包内容,应将本地包链接到主题模板。已集成bun方法,操作如下:

  1. 添加环境变量BUN_LINK_PKG=true
  2. 运行bun pure check自动链接包。

此方法也适用于其他平台(如Vercel)的部署。只需在平台控制设置的构建选项中添加该环境变量即可。构建命令astro-pure check && astro check && astro build会自动链接包。

部署模式#

Vercel#

本主题默认支持Vercel:

  1. 将代码推送到你的在线Git仓库(GitHub、GitLab、BitBucket)。
  2. 将项目导入Vercel。
  3. Vercel会自动检测到Astro并配置正确的设置。
  4. 你的应用已部署完成!(例如:astro.vercel.app

Vercel也支持静态部署方式:

astro.config.mjs
import vercelServerless from '@astrojs/vercel/serverless'
import vercelStatic from '@astrojs/vercel/static'; 

export default defineConfig({
  //   ...
  adapter: vercelServerless() 
  adapter: vercelStatic(), 
})
ts

Node服务器#

如果要在本地通过Node.js部署,需要先安装@astrojs/node

bun add '@astrojs/node'
shell

然后按照astro.config.ts中的注释修改:

astro.config.ts
import node from '@astrojs/node'
import vercelServerless from '@astrojs/vercel/serverless'

export default defineConfig({
  //   ...
  adapter: vercelServerless(), 
  adapter: node({ mode: 'standalone' }), 

  integrations: [
    // prettier-ignore
    outputCopier({ 
      integ: ['sitemap', 'pagefind'] 
    }) 
  ]
})
ts

Bun服务器#

Bun也支持静态部署方式。

查看@nurodev/astro-bun了解更多。

静态部署#

移除astro.config.ts中所有服务器适配器配置:

astro.config.ts
import vercelServerless from '@astrojs/vercel/serverless'

export default defineConfig({
  //   ...
  adapter: vercelServerless(), 
  output: 'server'
})
ts

GitHub Pages#

参见Astro:为GitHub Pages配置Astro

对于那些在GitHub Pages上部署且带有基础路径的情况(如username.github.io/repo-name),请仔细阅读部署#带基础路径的平台

带基础路径的平台#

  1. astro.config.ts中设置base选项为你的基础路径,例如:

    astro.config.ts
    export default defineConfig({
      //   ...
      base: '/repo-name/' // 替换为你的仓库名称
    })
    ts
  2. 更新动态脚本文件中的所有内部链接:

    • src/components/BaseHead.astro
    • src/pages/docs/DocsContent.astro
    • src/pages/rss.xml.ts
    • packages/pure/components/pages/PostPreview.astro(需要自定义主题才能修改)
  3. 更新所有静态资源路径:

    • src/site.config.ts中添加基础路径,特别是菜单配置。
    • src/plugins/shiki-transformers.ts中为所有/icons/code.svg添加基础路径。
    • src/assets/styles/app.css中为@font-face属性中的所有url添加基础路径。