Skip to content
/ Guide/通过 Netlify 部署前端应用
1/20/2024
4.1m
AI 摘要

本文介绍通过 netlify 一键免费部署前端应用的方法,包括 CLI 部署流程、配置 netlify.toml 文件、部署步骤以及绑定 Git 仓库实现自动部署,支持 https 和自定义二级域名。

通过 netlify 部署前端应用

如果自己没有服务器,可以通过 netlify 提供的服务一键免费部署前端应用,自定义二级域名,默认支持 https,相似的应用还有 vercel

通过 cli 部署

安装

使用 netlify 提供的 cli 工具,可以很轻松地在本地部署到远程,更多详细可以查看官方文档

$ npm install netlify-cli -g

登录

第一次在本机使用 netlify-cli 需要登陆,执行 netlify login 命令后会自动打开网页授权

TIP

推荐以 Github 授权登录 netlify。

$ netlify login
Logging into your Netlify account...
Opening https://app.netlify.com/authorize?response_type=ticket&ticket=406688049748ce06bb145da8464dcb64

You are now logged into your Netlify account!

Run netlify status for account details

To see all available commands run: netlify help

配置

我们需要在项目根目录下新建一个 netlify.toml 文件,例如

[build.environment]
  NODE_VERSION = "18" # 指定 node 版本
  NODE_OPTIONS = "--max_old_space_size=4096"

[build]
  publish = "dist"  # 指定发布的目录
  command = "pnpm run build" # 对于当前的项目来说,执行打包任务的命令

[functions]
  node_bundler = "esbuild"

[[redirects]]   # 由于当前项目是 vue-router 的 history 模式,需要配置重定向
  from = "/*"
  to = "/index.html"
  status = 200

部署

直接执行 netlify deploy

选择项目所属的 Team,默认就可以,然后输入 Site-name,这个名字是对于所有用户都是唯一的,尽量取一个不会和其他人重复的名字,这里是 fe-book,将会成为部署后的二级域名。

$ netlify deploy
This folder isn't linked to a site yet
? What would you like to do? +  Create & configure a new site
? Team: peterroe-uovpgxk’s team
? Site name (leave blank for a random name; you can change it later): fe-book

Site Created

Admin URL: https://app.netlify.com/sites/fe-book
URL:       https://fe-book.netlify.app
Site ID:   c1d4bddd-4dfc-49cc-849d-8cc8fb1ccab7

Linked to fe-book

Deploy path:        /Users/linshuheng/Desktop/vscode/i/fe-packing-compiling-book/dist
Configuration path: /Users/linshuheng/Desktop/vscode/i/fe-packing-compiling-book/netlify.toml
Deploying to draft URL...
✔ Finished hashing 
✔ CDN requesting 0 files and 0 functions
✔ Finished uploading 0 assets
✔ Deploy is live!

Build logs:        https://app.netlify.com/sites/fe-book/deploys/64eb00e380904f3b3369200b
Function logs:     https://app.netlify.com/sites/fe-book/functions?scope=deploy:64eb00e380904f3b3369200b
Website draft URL: https://64eb00e380904f3b3369200b--fe-book.netlify.app

If everything looks good on your draft URL, deploy it to your main site URL with the --prod flag.
netlify deploy --prod

部署完成之后,会出现一个临时的地址给我们访问,访问确保无误后,部署到生产环境

$ netlify deploy --prod
Deploy path:        /path/to/your/project/dist
Configuration path: /path/to/your/project/netlify.toml
Deploying to main site URL...
 Finished hashing 
 CDN requesting 0 files and 0 functions
 Finished uploading 0 assets
 Deploy is live!

Build logs:        https://app.netlify.com/sites/fe-book/deploys/64eb00f913ef6f4198f4b8ad
Function logs:     https://app.netlify.com/sites/fe-book/functions
Unique deploy URL: https://64eb00f913ef6f4198f4b8ad--fe-book.netlify.app
Website URL:       https://fe-book.netlify.app

接下来就可以通过 https://fe-book.netlify.app 访问到这个文档了

绑定 git 仓库部署

不管是 vercel 还是 netlify 都提供了一个功能,就是绑定某个 git 仓库部署项目,一旦仓库的主分支发生变化,就会触发项目的自动部署

https://app.netlify.com 登陆后,找到 Add new site -> Import an existing project,就可以绑定自己的 GitHub 仓库项目了。

然后再配置 Build settings,就是项目的一些打包命令,要发布的静态文件目录,如有必要,需要手动修改成适配自己项目的命令。

除此之外,上面用 CLI 部署的项目,也可以选择绑定一个仓库,完成从临时方案到稳定方案到过度。路径是 site configuration -> Build & deploy -> Link repository

Released under the MIT License.