前端部署:从开发到生产的最后一公里

前端部署:从开发到生产的最后一公里

毒舌时刻

前端部署?这不是运维的事吗?

"我只负责写代码,部署交给运维"——结果部署失败,互相甩锅,
"我直接把文件上传到服务器"——结果更新不及时,缓存问题频发,
"我用FTP上传,多简单"——结果文件传丢,网站崩溃。

醒醒吧,前端部署是前端开发的重要环节,不是别人的事!

为什么你需要这个?

  • 快速上线:自动化部署,减少人工操作
  • 环境一致性:确保开发、测试、生产环境一致
  • 回滚能力:出现问题时可以快速回滚
  • 监控和日志:实时监控网站状态和错误

反面教材

# 反面教材:手动部署 # 1. 本地构建 npm run build # 2. 手动上传文件 ftp ftp://example.com > put -r dist/* # 3. 手动清除缓存 ssh [email protected] > rm -rf /var/www/html/* > cp -r dist/* /var/www/html/ > systemctl restart nginx # 4. 手动检查 curl https://example.com 

正确的做法

# 正确的做法:使用CI/CD # .github/workflows/deploy.yml name: Deploy to Production on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' cache: 'npm' - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Test run: npm test - name: Deploy to Vercel uses: amondnet/vercel-action@v25 with: vercel-token: ${{ secrets.VERCEL_TOKEN }} vercel-args: '--prod' vercel-org-id: ${{ secrets.VERCEL_ORG_ID }} vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }} 
# 正确的做法:使用Docker # Dockerfile FROM node:18-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build FROM nginx:alpine COPY --from=build /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] 
# 正确的做法:Nginx配置 # nginx.conf server { listen 80; server_name example.com; root /usr/share/nginx/html; index index.html; # 处理单页应用路由 location / { try_files $uri $uri/ /index.html; } # 静态资源缓存 location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 30d; add_header Cache-Control "public, max-age=2592000"; } # Gzip压缩 gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; } 
// 正确的做法:使用CDN // vite.config.js import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [react()], build: { outDir: 'dist', assetsDir: 'assets', // 生成带哈希的文件名,便于缓存 rollupOptions: { output: { entryFileNames: 'assets/[name].[hash].js', chunkFileNames: 'assets/[name].[hash].js', assetFileNames: 'assets/[name].[hash].[ext]' } } }, // 配置CDN base: 'https://cdn.example.com/' }); 

毒舌点评

看看,这才叫前端部署!不是简单地手动上传文件,而是使用CI/CD、Docker、CDN等现代化工具。

记住,前端部署不是一次性的任务,而是一个持续的过程。你需要考虑构建优化、缓存策略、回滚机制等多个方面。

所以,别再觉得部署是运维的事了,它是你作为前端开发者的责任!

总结

  • CI/CD:使用GitHub Actions、GitLab CI等自动化部署
  • Docker:使用容器化技术,确保环境一致性
  • CDN:使用内容分发网络,提高访问速度
  • 缓存策略:合理设置缓存,减少重复请求
  • 监控:使用监控工具,实时了解网站状态
  • 日志:收集和分析日志,快速定位问题
  • 回滚:准备回滚方案,出现问题时快速恢复
  • 环境变量:使用环境变量管理不同环境的配置

前端部署,让你的代码快速、安全地到达用户手中!

Read more

【CDA干货】别只会死磕公式!这 7 款AI+Excel神级工具,下班至少早 2 小时

【CDA干货】别只会死磕公式!这 7 款AI+Excel神级工具,下班至少早 2 小时

做数据分析,最痛苦的不是没有思路,而是时间都花在了脏活累活上。 数据清洗要半天,公式报错查半天,写 VBA 宏更是想撞墙。其实,这些活早就可以外包给 AI 了。 今天分享 7 款目前最好用的“AI+Excel”工具,每一个都有不可替代的核心功能亮点。 一、 Excel 原生 Copilot 微软原生自带,不用额外下载、不用费心注册,不用记住复杂公式,在做季度销售汇总时直接用大白话问它计算每位销售总销量,可以直接给出公式并带有详细的解释,出错了它还能帮忙修改优化。 适用场景:当你拿到一张陌生的大表,完全不知道从何下手时,它能直接告诉你什么最重要,并一键生成图表和分析报告。 二、 ChatExcel 北大团队开发的一款AI工具,完全不用懂公式技巧,会打字说话就能用。用它做数据运算、数据分析、处理合并单元格数据还有图表生成,像统计各部门差旅费TOP3并生成柱状图,几分钟就完成。 ChatExcel快速处理Excel,一句话即可完成多表合并、多sheet拆分、数据清洗、数据查找等,

保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程

保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程

文章目录 * 保姆级教程:OpenClaw 本地 AI 助手安装、配置与钉钉接入全流程 * 🌟 引言 * 第一步:环境准备 * 1. 安装 Node.js * 2. 安装 Git * 第二步:安装 OpenClaw * 方式一:使用 npm 全局安装(通用推荐) * 方式二:Windows 快捷安装脚本 * 第三步:首次运行与初始化配置 (Onboard) * 1. 环境依赖检查 * 2. 向导配置流程 * 3. 网关启动与测试 * 第四步:进阶玩法——将 OpenClaw 接入钉钉机器人 * 1. 创建钉钉企业内部应用 * 2. 通过 npm 安装钉钉插件 * 3. 测试通道通讯

Kiro AI 助手完整使用指南

Kiro AI 助手完整使用指南

Kiro AI 助手完整使用指南 目录 1. 核心概念 2. 工作模式 3. Specs - 规范驱动开发 4. Hooks - 自动化触发器 5. Steering - 行为定制规则 6. MCP - 模型上下文协议 7. 聊天上下文 8. 实战示例 核心概念 Kiro 是一个 AI 驱动的 IDE 助手,专注于帮助开发者高效完成编码任务。它不仅能理解你的代码,还能主动执行操作、自动化工作流程。 核心能力 * 📝 读写代码文件 * 🔍 智能代码分析 * 🛠️ 执行 Shell 命令 * 🌐 联网搜索最新信息 * 🤖 自动化工作流程 * 📊 代码变更追踪 工作模式 1.

Cursor vs Claude Code vs Codex:三款 AI 编程工具深度对比

Cursor vs Claude Code vs Codex:三款 AI 编程工具深度对比

图:三款工具各有所长,选对工具事半功倍 前言 上一篇我们聊了「为什么每个开发者都要学会用 AI 写代码」,今天进入实战:市面上最热门的三款 AI 编程工具——Cursor、Claude Code、GitHub Copilot/Codex,到底有什么区别?该怎么选? 这三款工具代表了 AI 编程的三种不同路径: * Cursor → AI 原生 IDE,改造你的编辑器 * Claude Code → 终端 AI Agent,帮你跑腿干活 * GitHub Copilot / Codex → 嵌入式助手,融入现有工作流 让我们逐一拆解。 一、Cursor:AI 原生 IDE 的代表 图:Cursor 基于 VS