npm run dev 与 npm run production 的区别

本文对比了npm run dev和npm run production两种构建模式。前者编译时间快但文件体积较大,后者则相反,编译时间长但产出的文件体积小。文章详细介绍了这两种模式在编译时间和文件大小上的具体差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话少说,直接上图。

  1. npm run dev
    npm run dev
  2. npm run production
    npm run production

其中的区别有两点:

  1. 编译时间:可以看到是7703ms30858ms的差别
  2. 文件大小:其中一个名为app.js的文件,大小是1.24mb300kb的差别

剩下一处区别则是app.css,如果有使用导航栏的话可以通过页面源代码看到,由
在这里插入图片描述
总之很长的样子,可以变为
在这里插入图片描述
嘛,挺宽的样子

编译结束后,这个文件其实是你想怎么样都好,没有影响,所以我的理解是:便于删除,不知道是不是?

欢迎评论区补充。

### 关于 `npm install` 和 `npm run dev` 命令的功能及区别 #### 一、`npm install` 的功能 `npm install` 是 Node.js 中用于安装依赖包的核心命令。它会读取当前项目的 `package.json` 文件中的 `dependencies` 和 `devDependencies` 字段,下载并安装这些指定的模块到本地的 `node_modules` 目录下[^1]。 - 如果未指定任何参数,则默认安装所有列在 `package.json` 中的依赖项。 - 可以通过附加特定选项来控制行为,例如全局安装 (`-g`) 或仅安装生产环境所需的依赖 (`--production`)。 示例代码如下: ```bash npm install ``` 此命令通常会在初始化新项目或者克隆现有仓库后首次运行,目的是构建完整的开发环境所需的所有库文件[^2]。 #### 二、`npm run dev` 的作用 `npm run dev` 属于自定义脚本调用的一种形式。具体来说,它是执行存储在 `package.json` 文件内的 `"scripts"` 部分下的名为 `dev` 的指令集合[^3]。 开发者可以根据实际需求设置不同的任务逻辑;比如启动 Webpack 开发服务器、编译 TypeScript 源码或是开启调试模式等等操作都可以封装成这样的子命令供后续便捷调用。下面是一个典型的例子展示如何配置以及触发该过程: 假设我们在某个前端工程中有这样一段 JSON 定义: ```json { "scripts": { "dev": "webpack-dev-server --open" } } ``` 那么当我们键入 `npm run dev` 后实际上就相当于手动敲打了后面那条较长且复杂的 Shell 脚本语句去实现快速进入交互界面等功能[^4]。 #### 三、两者之间的主要差异对比分析表 | **比较维度** | **npm install** | **npm run dev** | |---------------------|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------| | 主要用途 | 下载并管理第三方库 | 执行预设好的自动化流程 | | 影响范围 | 修改本地磁盘上的目录结构(创建 node_modules),更新 package-lock.json | 不改变物理文件状态 | | 是否涉及网络请求 | 大部分情况下需要联网获取远程资源 | 几乎不需要额外的数据交换 | | 错误处理难度 | 当遇到权限不足等问题可能导致失败 | 若脚本本身存在语法错误则较难排查 | 综上所述可以看出这两者虽然同属 NPM 生态体系的一部分但却承担着截然不同使命的角色定位^. ```javascript // 示例:简单的 JavaScript 应用场景模拟上述两个命令的效果 const fs = require('fs'); function simulateNpmInstall() { console.log("正在模拟 npm install..."); const dependencies = ['react', 'lodash']; try { if (!fs.existsSync('./node_modules')) { fs.mkdirSync('./node_modules'); } for (let dep of dependencies){ fs.writeFileSync(`./node_modules/${dep}`, ''); } console.log("完成!"); } catch(err) { throw new Error("安装过程中发生异常"); } } function simulateDevScriptExecution(){ console.log("正在模拟 npm run dev..."); // 这里只是简单打印日志代替真实业务逻辑 setInterval(() => {console.log("服务已启动...");}, 1000); } simulateNpmInstall(); setTimeout(simulateDevScriptExecution, 5000); // 延迟几秒再执行以便区分两者的顺序关系 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值