前言
Next.js 是一个用于 JavaScript 应用程序的 React 框架。它提供了大量的工具和功能,使得我们可以更加便捷地构建前端应用程序。本文将以 Next.js 项目作为例子,介绍 Next.js 项目如何自动化构建,并部署到 GitHub Pages。文章会从项目的组织结构、自动化构建、自动化部署等方面一一阐述。
项目的组织结构
在实现 Next.js 项目自动化构建与部署前,我们需要先了解一些项目的基本组织结构。下面是一个基本的 Next.js 项目结构:
------ --- ------------ --- ----- - --- -------- - --- -------- --- ------ - --- ----------- --- ------ - --- -------- --- ---------- --- -------------- --- ----------------- --- ------------
其中,pages
目录里包含了项目的页面文件,public
目录下包含了一些静态资源文件,styles
目录下包含了一些样式文件。这是一个基本的 Next.js 项目组织结构,当然在实际项目中,会根据不同的需求进行不同的调整。
自动化构建
构建是一个前端项目开发过程中必不可少的一环,为保证项目的质量和效率,我们需要自动化地进行构建。下面将介绍如何使用 GitHub Actions
对 Next.js 项目进行自动化构建。
创建 GitHub Actions 配置文件
在项目的根目录下创建名为 .github/workflows/main.yml
的配置文件。文件内容示例:
----- -- --- ----- --------- - ------ ----- ------ -------- ------------- ------ - ----- ------------------- - ----- --- ------- ---- ----- --------------------- ----- ------------- ------ - ----- ----- ---- ------- ----- ---------------- ----- ----- ------ ---- --- --------- ----------- --------------------------------- -- ------------- --- --------- -------- - ---- --- -- - ---- --- --- ----- - ---- --- --- ------ - ----- ----------------------------- ----- --------------- --- -------------------- -- ------------ -----
该配置文件的作用是:当推送代码到 master 分支时,自动执行 npm run build
和 npm run export
命令进行构建,并将构建结果推送到 GitHub Pages。
在这个配置文件中,我们采用了 peaceiris/actions-gh-pages
这个 Action,它可以帮助我们自动化地将项目构建后的文件部署到 GitHub Pages 上。
授权 GitHub Actions
在项目仓库中,我们需要在 Settings
-> Secrets
中添加一个名为 PERSONAL_TOKEN
的密钥,该密钥是用于授权 GitHub Actions 的,需要得到拥有者的权限。
调试构建
在配置文件编写好后,我们可以尝试手动触发 GitHub Actions 工作流程,以验证构建是否成功。需要注意的是,由于构建过程中需要进行一些环境配置,因此首次构建往往需要时间较长,大概需要几分钟到几十分钟的时间,但是之后的构建就会快很多。
构建结果
构建成功后,我们可以在项目的 Actions
列表中看到我们刚刚触发的工作流程:
点击工作流程的名字,可以看到详细的构建过程:
最后,我们可以在项目的 gh-pages
分支中,看到构建后的文件了:
自动化部署
添加 CNAME 与自定义域名
在项目的 public
目录中,可以添加一个名为 CNAME
的文件来指定 GitHub Pages
的自定义域名。例如,想要将自定义域名设置为 example.com
,则需要在 CNAME
文件中添加:
-----------
添加 GitHub Pages 配置文件
在项目的根目录下添加一个名为 .nojekyll
的空文件,这是告诉 GitHub Pages
不要使用 Jekyll
来处理该站点。
在 gh-pages
分支的根目录下,创建一个名为 index.html
的文件,用于指定 GitHub Pages
的站点根目录。
--------- ----- ------ ------ ----- --------------- -- ----- -------------------- ----------- --------------------- -- ------------------ -- ------------------------ ------- ------ ----------- -- -- --------------------------------------------- ------- -------
部署到 GitHub Pages
为了自动化部署,我们仍然可以采用 GitHub Actions
的机制。我们可以在上一节构建完后,添加以下命令:
- - - ----- ----------------------------- ----- --------------- --- -------------------- -- ------------ ----- ------ -----------
这个命令的作用是将 ./out
文件夹中的内容推送到 GitHub Pages
,并指定自定义域名为 example.com
。
启用 GitHub Pages
最后,在项目仓库的 Settings
-> Pages
中启用 GitHub Pages
,选择 gh-pages
分支,并将源文件夹指定为 gh-pages
分支的根目录。
最后,我们就完成了 Next.js 项目的自动化构建与部署到 GitHub Pages
中。整个过程虽然有些繁琐,但是只需要我们修改几个简单的配置和增加一些命令,就能实现前端项目的自动化构建与部署,为我们开发工作带来了很大的便利。
总结
在本篇文章中,我们介绍了 Next.js 项目的组织结构、自动化构建、自动化部署等方面的内容。通过实例代码的演示,我们掌握了如何使用 GitHub Actions
实现前端项目的构建和部署,同时也使我们对于前端工作流程有了更深刻的认识,希望读者可以借此了解到更多关于前端工程化的知识。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65b78099add4f0e0ff00dc4f