首页 > web前端 > js教程 > 正文

使用 Github 页面部署 React Nextjs 应用程序的步骤

DDD
发布: 2024-10-13 15:58:49
转载
683人浏览过

使用 github 页面部署 react nextjs 应用程序的步骤

由于 github pages 的静态特性和 next.js 的动态功能,将 next.js 应用程序部署到 github pages 可能有点棘手。在本文中,我将引导您完成成功部署的步骤。

先决条件

  • github 帐户
  • 您的计算机上安装了 node.js 和 npm
  • 准备部署的 next.js 项目

第 1 步:安装 gh-pages

npm install gh-pages --save-dev

第 2 步:更新 next.config.mjs

接下来,您需要更新 next.config.js(或 next.config.mjs)文件以正确处理基本路径和资源前缀。

const isprod = process.env.node_env === 'production';
const nextconfig = {
  reactstrictmode: true,
  images: {
    unoptimized: true, // disable default image optimization
  },
  assetprefix: isprod ? '/your-repository-name/' : '',
  basepath: isprod ? '/your-repository-name' : '',
  output: 'export'
};

export default nextconfig;
登录后复制

isprod 检查 node_env 环境变量是否设置为“生产”。如果是,isprod 将为 true;否则,它将是错误的。
仅当 isprod 为 true 时,条件 assetprefix 和 basepath 才会设置为您的存储库名称。否则,它们将被设置为空字符串以供本地开发。
images.unoptimized 选项设置为 true 以禁用默认图像优化,这与静态导出不兼容。

第 3 步:更新 package.json

更新您的 package.json 以包含主页字段和部署脚本。

"homepage": "https://<your-github-username>.github.io/<your-repo-name>",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "predeploy": "npm run build",
    "deploy": "gh-pages -d out"
  },
登录后复制

将 和 替换为您的 github 用户名和存储库名称。

Hugging Face
Hugging Face

Hugging Face AI开源社区

Hugging Face 135
查看详情 Hugging Face

第 4 步:部署您的应用

运行 npm run predeploy 和 npm run deploy

这些命令将:

  • 构建您的项目。
  • 导出到out目录。
  • 将其部署到 github 上的 gh-pages 分支。 在下一步之前将您的工作推送到 github 分支

第 5 步:配置 github 页面

转到 github 上的存储库。
导航至设置 > 页面。
在“源”下,选择 gh-pages 分支。
保存设置。
在 github 上 gh-pages 分支的根目录下手动添加 .nojekyll 文件。在这里了解更多相关信息。

第 6 步:验证部署

部署后,打开您的 github pages url(例如 https://.github.io/)以验证您的应用程序是否已上线。

瞧!

请随时在下面留下任何问题或评论。快乐编码!

以上就是使用 Github 页面部署 React Nextjs 应用程序的步骤的详细内容,更多请关注php中文网其它相关文章!

相关标签:
Github
Github

Github是一款非常实用的代码开放工具,用户可以按照自己的需求进行搜索,从而快速定位到所需的代码或项目位置,还能在软件中建立自己的代码仓库,有需要的小伙伴快来保存下载体验吧!

下载
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号