跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

前端项目打包与部署指南:从 npm run build 到线上发布

介绍前端项目从本地打包到服务器部署的全流程。内容包括 npm run build 命令解析、dist 目录结构说明、SSH 连接服务器基础操作、文件上传的 Xftp 与 scp 方式、Nginx 配置示例及常见问题排查,最后提供一键部署脚本示例。

晚风告白发布于 2026/4/6更新于 2026/10/26142 浏览
前端项目打包与部署指南:从 npm run build 到线上发布
一、本地打包:npm run build详解
1. 打包命令的本质
npm run build # 实际执行的是 package.json 里的 scripts.build

你的 package.json 里应该有类似配置:

{
  "scripts": {
    "build": "vite build"
  }
}
2. 打包后得到什么?
dist/
├── assets/       # 静态资源(JS/CSS/图片)
├── index.html    # 入口文件
└── favicon.ico   # 网站图标

注意:不同构建工具输出结构略有不同(Vite/Webpack/CRA 等)


二、连接服务器:SSH 入门
1. 基础连接命令
ssh username@服务器 IP -p 端口号
# 示例(默认 22 端口可省略-p):
ssh [email protected]
2. 常用操作
ls           # 查看当前目录
cd /var/www  # 进入 web 目录
pwd          # 显示当前路径
mkdir demo   # 创建文件夹

三、文件上传:两种常用方式
方法 1:Xftp 可视化传输
  1. 打开 Xftp → 新建连接
  2. 左侧本地窗口拖入 dist 文件夹
  3. 右侧服务器窗口选择目标目录(如 /var/www/html)
方法 2:scp 命令直传(适合小文件)
scp -r ./dist root@服务器 IP:/目标路径
# 示例:
scp -r ./dist [email protected]:/var/www

四、Nginx 配置(让网站能访问)
1. 基础配置示例
server {
    listen 80;
    server_name yourdomain.com;
    # 没有域名可写服务器 IP
    location / {
        root /var/www/dist; # 你的 dist 目录路径
        index index.html;
        try_files $uri $uri/ /index.html; # 处理前端路由
    }
}
2. 重启 Nginx 生效
nginx -t      # 测试配置是否正确
nginx -s reload # 重启服务

五、常见问题排查
  • 403 Forbidden ➔ 检查目录权限:chmod -R 755 /var/www

  • 页面空白/CSS 丢失 ➔ 检查资源路径:打包时用 ./ 相对路径

  • 接口请求 404 ➔ 配置 Nginx 代理:

location /api {
    proxy_pass http://后端服务地址:端口;
}

六、自动化部署脚本

在项目根目录创建 deploy.sh:

#!/bin/bash
npm run build
scp -r ./dist root@服务器 IP:/var/www
ssh root@服务器 IP "nginx -s reload"
echo "部署完成!"

运行:sh deploy.sh 即可一键部署!

目录

  1. 一、本地打包:npm run build详解
  2. 1. 打包命令的本质
  3. 2. 打包后得到什么?
  4. 二、连接服务器:SSH 入门
  5. 1. 基础连接命令
  6. 示例(默认 22 端口可省略-p):
  7. 2. 常用操作
  8. 三、文件上传:两种常用方式
  9. 方法 1:Xftp 可视化传输
  10. 方法 2:scp 命令直传(适合小文件)
  11. 示例:
  12. 四、Nginx 配置(让网站能访问)
  13. 1. 基础配置示例
  14. 2. 重启 Nginx 生效
  15. 五、常见问题排查
  16. 六、自动化部署脚本

更多推荐文章

查看全部
  • Pico 4XVR 1.10.13 安装与使用指南
  • OpenClaw 飞书多机器人与多 Agent 落地复盘
  • 基于 Node.js 与 OpenAI SDK 的 LLM 编程入门指南
  • 医疗 AI 可信系统构建:向量索引与贝叶斯网络实现
  • 基于 SSM 框架的医院医药药品管理系统设计与实现
  • 6 款免费 AI 写作工具实测:网文创作与去 AI 味方案
  • 网络安全入门常见误区与学习路径指南
  • 使用 ZeroNews 远程管理 OpenClaw Gateway Dashboard
  • 使用 Higress 将 REST API 转换为 MCP Server 工具
  • C++ STL 基础:迭代器、auto 与范围循环
  • 掌握 C++ 模板与内存管理,消除代码冗余与内存泄漏
  • HarmonyOS 6.0 使用 PAC 脚本灵活管理网络连接
  • 网络安全工程师入门指南:三年经验总结与学习路径
  • Redis 核心知识与 Java 项目实践
  • OpenClaw 汉化版部署与常见问题排查指南
  • 攻防世界 Web 题解 (八): 加密解密、反序列化、RCE 及文件包含
  • Flutter 三方库 huggingface_client 的鸿蒙化适配指南
  • 腾讯 QQ 开放平台接入 OpenClaw:个人号一键部署 5 个机器人
  • JavaScript 宏任务与微任务详解
  • 缓存算法 LRU 与 LFU 详解

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online