前后端分离的开发框架中,以下几种命令:npm run dev、npm run build:stage 和 npm run build:prod分别有什么作用和区别(详解)

前言

        在前后端分离的开发框架中(例如 Vue、React 等),前端的构建和启动过程通常包括以下几种命令:npm run devnpm run build:stagenpm run build:prod。这些命令分别用于不同的开发、测试和生产环境,具体作用如下:

1. npm run dev — 启动开发环境

作用:

  • 启动前端应用的开发模式,通常用于开发过程中进行实时调试和测试。
  • 启动一个开发服务器(例如 Webpack Dev Server),支持热更新(Hot Module Replacement,HMR),使得修改代码后页面自动更新。
  • 配置中的 dev 模式通常会开启一些调试工具,详细的错误信息和警告输出,帮助开发者快速定位问题。

常见功能:

  • 本地服务器运行,通常默认监听 localhost:8080 或其他端口。
  • 实时编译和热重载,当你修改文件时,浏览器页面会自动更新。
  • 使用开发时的配置,如较大的调试信息和不进行压缩的 JavaScript 文件。
  • 调用后台 API 时可能使用开发环境的 API 地址(比如 localhost 或某个测试地址)。

示例:

npm run dev

典型用途:

  • 前端开发时,开发人员通过运行该命令来启动本地开发服务器,实时预览代码并进行调试。

2. npm run build:stage — 构建测试环境

作用:

  • 用于构建测试环境的代码,生成相对较小的、优化过的文件,但不会进行生产级别的优化。适合在测试阶段或者 staging(预发布)环境中进行测试和预演。
  • 这个构建过程通常会涉及到一些轻度的优化,比如压缩文件、去除调试信息、环境变量设置为测试环境等,但不会像生产环境那样做极致优化。

常见功能:

  • 使用 staging 环境的配置(如 API 地址指向测试服务器)。
  • 一般会做一定程度的优化,比如代码压缩、去除 console.log 等,但不会做生产级的代码拆分、压缩到极限等操作。
  • 构建出的文件通常比开发模式更小,但相比生产环境,可能会保留一些调试信息。

示例:

npm run build:stage

典型用途:

  • 用于部署到预发布环境、测试环境或者 QA 环境,进行前端的验收测试,验证部署前的功能是否正常。
  • 这个环境一般用于模拟生产环境,进行系统集成测试。

3. npm run build:prod — 构建生产环境

作用:

  • 用于构建生产环境的代码,进行极致优化,生成适用于生产环境部署的文件。这个构建过程会压缩 JavaScript、CSS 文件,移除所有调试信息,进行代码分割(Code Splitting)、树摇(Tree Shaking)等优化操作,以提高页面加载速度和减少文件体积。
  • 生成的文件通常会经过较为严格的压缩和优化处理,确保在生产环境中加载速度快且性能高。

常见功能:

  • 生产环境构建会移除所有的调试信息,禁用 console.log,压缩文件大小。
  • 使用 production 环境的配置(如 API 地址指向生产服务器)。
  • 强化性能优化:如代码分割、懒加载、文件哈希命名等。
  • 生成的文件通常比测试环境的文件更小、加载更快。

示例:

npm run build:prod

典型用途:

  • 用于部署到生产环境,将构建好的文件上传到生产服务器,使得最终用户能够访问。
  • 适用于上线前的最终版本,确保前端应用在生产环境中以最佳的性能运行。

总结

命令环境类型主要功能典型用途
npm run dev开发环境启动开发服务器,支持热更新,调试信息丰富,快速开发前端开发时本地启动应用,调试和修改功能
npm run build:stage测试环境构建并优化适合测试环境的代码,轻度优化,准备部署到测试环境部署到测试或预发布环境,进行集成和验收测试
npm run build:prod生产环境进行生产环境级别的压缩和优化,生成适合上线的代码部署到生产环境,生成最终可供用户访问的前端文件

这些命令帮助前端开发人员在不同的阶段生成不同类型的代码,以适应开发、测试和生产环境的需求。

npm run build:stagenpm run build:prod是两个不同的构建命令npm run build:stage用于构建一个用于开发或者测试环境的应用,而npm run build:prod则用于构建一个用于生产环境的应用。根据你提供的信息,使用npm run build:prod构建出来的包会比较小,适用于生产环境的部署。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [关于npm run build:prodnpm run build:stage区别解释](https://blog.csdn.net/C05230/article/details/130388460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue-cli3打包时vue-cli-service build怎么分不同环境(npm run build:stagenpm run build:prod)](https://blog.csdn.net/weixin_52428855/article/details/124631881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [使用vue-cli打包过程中的步骤以及问题的解决](https://download.csdn.net/download/weixin_38747211/13200390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值