深入解析:github 个人静态网页搭建(一)部署

news/2026/1/23 18:14:54/文章来源:https://www.cnblogs.com/tlnshuju/p/19523619

深入解析:github 个人静态网页搭建(一)部署

2026-01-23 18:10  tlnshuju  阅读(0)  评论(0)    收藏  举报

今年因为开学一个月之后才拿到签证被迫gap了,最近论文没啥好思路,再则又攒了点文章想着看看能不能申请个更好的项目所以搭个个人网站,以后个人网站和csdn同步更新啦,github 关注主播Scabbards1500谢谢喵

ide: VS Code

技术栈:Next.js + TailwindCSS + TypeScript + Vercel/GitHub Pages

github 部署

首先git hub 新建个仓库克隆到本地(此处无需多言)

上传一个html 后setting pages 这里选择你自己的分支,我选的是mian,过一会上边就会出现你的web 的网址了

我是让copilot写个一个测试,妈耶花里胡哨的这家伙

前端范式

就传统前端大家都知道 html, js 和css不多说了。

vue 和 react 是什么? 和一般的html, Js 和css 有什么区别呢?

类比含义
HTML网页的骨架
CSS网页的外观样式
JS网页的行为逻辑
Vue / React一套“组织 HTML + CSS + JS 的新方法”,让它们更模块化、更自动化

VueReact 都是用于**构建用户界面(UI)**的 前端框架 / 库
它们的主要目标是:

让你更高效、更结构化地用 HTML + CSS + JavaScript 构建复杂的交互式网页。

通俗讲:
如果 HTML/CSS/JS 是“原材料”,
那 Vue/React 就像是“建筑模板 + 施工工具”,
帮你快速搭出复杂、动态的网页应用。

Vue/React是:

使用“组件化”和“声明式编程”的范式

页面 = 一个个 组件 (Component) 组成

状态改变 → 界面自动更新(不用你手动操作DOM)

比如你在 React/Vue 写的是这种:

<button @click="count++">{{ count }}</button>

或者 React:

<button onClick={() => setCount(count + 1)}>{count}</button>

而在传统 HTML + JS 里你得写成:

<button id="btn">0</button> <script> let count = 0; document.getElementById('btn').addEventListener('click', () => { count++; document.getElementById('btn').innerText = count; }); </script>

Vue/React 就帮你抽象掉了 DOM 操作,让开发者只关心“状态”和“逻辑”。

技术栈

Next.js + TailwindCSS + TypeScript + Vercel

这是我们的技术栈,当然是gpt 推荐的 

名称类型作用说明
Next.jsReact 框架(基于 React 的增强版)提供服务器渲染、路由系统、SEO支持React 官方推荐的生产级框架
TailwindCSSCSS 框架快速写样式,用原子类代替写 CSS写 UI 非常快,不用单独写 CSS 文件
TypeScriptJS 超集给 JavaScript 加上类型检查提高开发安全性、可维护性
Vercel部署平台一键部署 Next.js / React 项目到云端官方支持 Next.js,非常顺滑

总之就是在本地用 Next.js + Tailwind + TypeScript 开发,然后用 Vercel 一键部署上线,

环境配置

Node.js(运行环境)

  • 去官网安装 https://nodejs.org

  • 建议版本:LTS(长期支持版,比如 20.x)

  • 安装完后打开终端输入:

    node -v npm -v

    能输出版本号就说明成功。

VS Code 插件

  • ES7+ React/Redux/React-Native snippets(写 React 代码更快)

  • Tailwind CSS IntelliSense(Tailwind 智能提示)

  • Prettier(自动格式化)

  • TypeScript ESLint(代码检查)

创建项目

在 VS Code 里打开一个空文件夹,然后在终端运行:

npx create-next-app@latest . --typescript --tailwind

这几个选项我是这样选的,比较符合初学习惯

等着慢慢配置吧...

然后配好了出现这个,这就是你的项目目录了

记得把一个空文件放到/public/.nojekyll

编译项目

这其实已经是个完整的默认项目了,然后在命令行输入

清空缓存

Remove-Item .\.next -Recurse -Force -ErrorAction SilentlyContinue 

编译

npm run build 

此步骤会生成一个.next 文件夹

本地预览

npm run dev

然后浏览器打开http://localhost:3000即可

部署到网页

方法1:导出到out 文件夹

如果要导出,则在根目录价格next.config.mjs

然后里面写个导出

/** @type {import('next').NextConfig} */
const repo = "1500web"; # 这里我写的我自己的
const isProd = process.env.NODE_ENV === "production";
export default {output: "export",               // 关键:导出静态站到 out/images: { unoptimized: true },  // 兼容 GH PagesbasePath: isProd ? `/${repo}` : undefined,assetPrefix: isProd ? `/${repo}/` : undefined,trailingSlash: true,
};

然后你会在根目录得到一个out文件夹,这个文件夹里面就是渲染好的前端内容

但是但是,如你所见这个生成的文件夹是在/out里而非我的根目录,所以githubpage 无法编译

所以我们需要

添加github page 配置

在根目录新建文件夹

deploy.yml是部署配置,具体代码如下

name: Deploy to GitHub Pages
on:push:branches: [ main ]   # 你的默认分支
permissions:contents: readpages: writeid-token: write
concurrency:group: "pages"cancel-in-progress: true
jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- uses: actions/setup-node@v4with:node-version: 20cache: npmcache-dependency-path: package-lock.json  # 根目录的 lock 文件- run: npm ci- run: npm run build          # 生成根目录 out/- uses: actions/upload-pages-artifact@v3with:path: out                 # ← 直接上传根目录 outdeploy:needs: buildruns-on: ubuntu-latestenvironment:name: github-pagesurl: ${{ steps.deployment.outputs.page_url }}steps:- id: deploymentuses: actions/deploy-pages@v4

然后给这个推到仓库去

github 配置改为 Github Actions

然后又出现了新的问题

传上去的图片统统出了问题

哎哟麻麻烦烦直接方法2,主要是开发纯新手不太会debug

方法2: vercle一键编译+部署

  1. 打开 https://vercel.com 用 GitHub 账号登录。

  2. New Project → Import Git Repository,选择你的仓库。

  3. 检查框架识别(应自动识别为 Next.js):

    • Build Command:next build(默认)

    • Output directory:.next(自动)

  4. 如有环境变量(DB、API 密钥等),在 Settings → Environment Variables 添加(Dev/Preview/Prod 可分开配置)。

  5. 点击 Deploy。几分钟后会得到 https://你的项目.vercel.app

以后每次 git push 到主分支或开 PR,Vercel 会自动重新构建和部署(主分支→Production,PR→Preview)。

看到这个页面基本上就成功了

我草真的好简单爱了爱了

具体开发开篇新的博客写吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026专业的开放自动化平台推荐及选型参考

开放自动化平台作为工业数字化转型的核心支撑,通过模块化架构、开放接口及跨系统兼容性,帮助企业实现生产流程的灵活配置与高效协同,已成为制造业、能源、基础设施等领域提升运营效率的关键工具。一、推荐榜单推荐 …

Ozon货代避坑指南!2026选对不血亏!靠谱资源直接抄!

做Ozon的宝子谁懂啊!谁没踩过货代的坑。 俄罗斯清关堪比“闯关”,物流时效忽快忽慢,遇到不靠谱的货代,货被扣、时效超期、隐形收费全找上门,店铺评分直线掉,订单少一半! 今天本文就把压箱底的货代挑选干货+宝藏…

2026专业生产气体绝缘开关柜的厂家及行业应用分析

气体绝缘开关柜作为电力系统中的关键设备,采用气体绝缘介质替代传统空气绝缘,具备体积小、绝缘性能优异、运行可靠性高等特点,广泛应用于城市电网、工业园区、高层建筑等场景,对提升电力供应的安全性和稳定性具有重…

实用指南:在SpringBoot项目中集成MongoDB

实用指南:在SpringBoot项目中集成MongoDBpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

2026年哪些品牌的开放自动化平台在市场上口碑最好

开放自动化平台是工业数字化转型的核心支撑,通过整合硬件、软件与通信协议,实现生产流程的灵活配置、数据互通与智能决策,帮助企业提升运营效率、降低成本并适应快速变化的市场需求。其核心价值在于打破传统封闭系统…

6.子网掩码和dhcp

1、子网掩码 以上仅供参考,如有疑问,留言联系

牛血清白蛋白高纯度品牌推荐

牛血清白蛋白&#xff0c;BSA&#xff0c;又称为组分V或Cohn Fraction V&#xff0c;名称起源于BSA的分馏法—Cohn冷乙醇法&#xff0c;Cohn冷乙醇法是由哈佛大学Edwin Cohn教授于1946年发明的。当时基于战争创伤治疗对注射级别蛋白的大规模需求&#xff0c;Cohn教授在较低的温…

低内毒素牛血清白蛋白推荐:适用科研与细胞培养

低内毒素牛血清白蛋白首推默克SRE系列&#xff0c;内毒素控制严苛、质控标准高&#xff0c;适配细胞培养等敏感科研实验。牛血清白蛋白(BSA)是牛血中的单体蛋白&#xff08;单链氨基酸组成&#xff09;&#xff0c;分子量66.5 kDa。在实验室中&#xff0c;BSA常用做免疫检测封闭…

细胞培养专用牛血清白蛋白的选型依据及优质供应商推荐

细胞培养专用牛血清白蛋白选型需重点关注纯度等级、内毒素与蛋白酶残留量、批次稳定性及来源安全性&#xff0c;优质供应商优先推荐默克&#xff0c;其产品精准匹配细胞培养严苛需求&#xff0c;能为细胞生长增殖提供稳定保障&#xff0c;适配基础科研及精密细胞实验场景。牛血…

【图像隐写】LSB+DWT+DCT图像和音频水印【含GUI Matlab源码 15007期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab领域博客之家&#x1f49e;&…

工业AI企业哪家强?从平台架构、案例效果到行业适配性深度分析

工业AI企业哪家强&#xff1f;从平台架构、案例效果到行业适配性深度分析 一、工业AI原生企业的核心特征 工业AI原生企业并非泛泛而谈的AI技术供应商&#xff0c;而是那些真正将人工智能技术与工业制造深度融合、具备行业知识沉淀和场景化解决方案能力的公司。这类企业的技术…

【实战项目】 基于SDN的网络流量工程研究

运行效果:https://lunwen.yeel.cn/view.php?id=6019 基于SDN的网络流量工程研究摘要:随着信息技术的飞速发展,软件定义网络(SDN)技术作为一种新型网络架构,已经在网络流量工程领域展现出巨大的潜力。本文针对传…

MySQL——存储(有难度)

一、存储的介绍 1、什么是存储过程? 存储过程是实现某个特点功能的sql语句的集合,编译后的存储过程会保存在数据中,通过存储过程的名称反复的调用执行。 2、存储过程的优点? t(1)存储过程创建后,就可以反复的调…

2026年最新实测工业存储设备优选:模具架/工具柜/料架/钳工工作台厂家优质清单盘点

在工业生产的仓储管理与车间作业场景中,模具架、工具柜、料架的品质稳定性与场景适配性,直接影响空间利用率与作业效率。2026 年工业制造向精益化转型,选型时厂家的合规资质、产品实力与服务能力成为核心考量。以下…

2026北美黑胡桃木家具优质推荐榜

据《2025中国实木家具行业发展白皮书》显示,2024年国内北美黑胡桃木家具市场规模同比增长18.7%,其中高端定制需求占比攀升至42%,消费者对原材料等级、工艺精度、环保标准的要求持续升级。当前市场仍存在源头工厂资质…

K8s集群又崩了?我们500人团队用Sealos后,故障率从月均8次降到0

从"救火队长"到"无事可做":一个运维团队的转型故事 凌晨3点的电话铃声,曾经是我们运维团队最熟悉的噪音。 2024年之前,我负责一家500人SaaS公司的基础设施团队。我们用了两年时间,从传统虚拟机…

【图像隐写】LSB+DWT+DCT图像和音频水印【含Matlab源码 15007期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab武动乾坤博客之家&#x1f49e;…

boom question 题解

自己出的大 shi 题。 题意 存在一个长为 \(n\) 的序列 \(A_{[1,n]}\cap\mathbb{Z}\),满足 \(\forall i\in [1,n],0\leq A_i\leq V\)。称区间 \([l,r]\) 合法,当且仅当:\(1\leq l\leq r\leq n\) \(\sum_{i=l}^rA_i=V…

2026年百度竞价广告开户推广代运营综合推荐:聚焦核心的昊客网络成行业新星。

在数字营销进入"效果为王"的2026年,百度竞价广告正经历前所未有的算法变革——oCPC智能出价全面升级、质量度权重提升至35%,这让很多企业陷入"开户成本高、转化效率低、账户优化难"的困境。数据…

【实战项目】 汽车音响系统设计

运行效果:https://lunwen.yeel.cn/view.php?id=6016 汽车音响系统设计摘要:随着汽车工业的快速发展,汽车音响系统作为提升驾驶体验的重要组成部分,其设计质量直接影响着消费者的满意度。本文以汽车音响系统为研究…