部署你的 Angular 应用
ng build produces static files either way, but exactly where it puts them changed with Angular 17's new esbuild-based application builder — worth checking before you point the CLI at the wrong folder.
- 01
Build the app
Run "ng build" (or "npm run build"). Angular compiles and minifies the project into static output — no dev server, no watch mode.
- 02
Check which output layout you have
Angular 17 and newer (application builder): output lands in "dist/<project-name>/browser". Angular 16 and older: it's directly in "dist/<project-name>". Look for the folder that has an index.html at its top.
- 03
部署它
在项目根目录运行 "npx harvis deploy dist/<project-name>/browser"。首次部署无需配置、无需登录——你会立即拿到一个可访问 URL,以及一个私密认领链接,方便你随时把网站关联到一个免费账号。
一条命令部署 Angular
构建你的项目,然后把输出文件夹交给 harvis。首次部署无需账号——你会拿到一个可访问链接,以及一个用于以后管理网站的私密认领链接。
ng build npx harvis deploy dist/<project-name>/browser
更喜欢拖拽文件而不是用终端?构建项目后,把输出文件夹拖到这里即可用同样的方式发布。
Angular 部署常见问题
The dist folder doesn't have an index.html at the top — what am I missing?
You're on Angular 17+, where the application builder nests browser output one level deeper for the browser bundle. Look inside "dist/<project-name>/browser" instead of "dist/<project-name>" — that's the folder to deploy.
Does Angular routing (RouterModule) work after deploying?
Yes, for the default hash-free routing strategy — harvis falls back to your index.html for paths it doesn't recognize as files, which is what a direct visit to a deep route needs to resolve.
把 Angular 应用部署到 harvis 真的免费吗?
是的,无需信用卡。免费额度为每个网站 500 个文件、50 MB,对于一个静态 Angular 构建产物来说绰绰有余。已发布的网站不会过期——会一直在线,直到你删除它们。
已部署的 Angular 网站可以使用我自己的域名吗?
每个网站都会获得一个免费的 harvis.dev 地址,认领之后你可以在仪表盘中选择自己的子域名——比如 my-app.harvis.dev,而不是一个随机地址。把你已经拥有的域名(比如 mystore.com)指向该网站,目前还不支持。
这和把 Angular 部署到 Vercel 或 Netlify 有什么不同?
Vercel 和 Netlify 的核心是连接一个 Git 仓库,在他们的服务器上运行构建,并通过一个仪表盘进行配置。harvis 跳过了这一切:你在本地(或自己的 CI 中)构建,对输出文件夹运行一条命令,就能拿到一个链接——无需项目搭建,直到你想保留这个网站才需要账号。
要部署别的东西?
各处的方法都一样——先构建,然后用 npx harvis deploy 部署输出。