Nodejs 第五章(Npm run 原理)

npm run xxx 发生了什么

按照下面的例子npm run dev 举例过程中发生了什么

读取package json 的scripts 对应的脚本命令(dev:vite),vite是个可执行脚本,他的查找规则是:

  • 先从当前项目的node_modules/.bin去查找可执行命令vite
  • 如果没找到就去全局的node_modules 去找可执行命令vite
  • 如果还没找到就去环境变量查找
  • 再找不到就进行报错

如果成功找到会发现有三个文件

因为nodejs 是跨平台的所以可执行命令兼容各个平台

  • .sh文件是给Linux unix Macos 使用
  • .cmd 给windows的cmd使用
  • .ps1 给windows的powerShell 使用

npm 生命周期

没想到吧npm执行命令也有生命周期!!!

json 复制代码
    "predev": "node prev.js",
    "dev": "node index.js",
    "postdev": "node post.js"

执行 npm run dev 命令的时候 predev 会自动执行 他的生命周期是在dev之前执行,然后执行dev命令,再然后执行postdev,也就是dev之后执行

运用场景例如npm run build 可以在打包之后删除dist目录等等

post例如你编写完一个工具发布npm,那就可以在之后写一个ci脚本顺便帮你推送到git等等

谁用到了例如vue-cli github.com/vuejs/vue-c...

相关推荐
看到我,请让我去学习2 小时前
数据结构—排序(斐波那契数列,冒泡,选择,插入,快速,归并,图,广度优先算法)
c语言·开发语言·数据结构·后端
码农捻旧4 小时前
Node.js Express 项目现代化打包部署全指南
javascript·node.js·github·express
代码搬运媛5 小时前
Webpack 分包策略详解及实现
前端·webpack·node.js
源码云商5 小时前
基于Spring Boot + Vue的教师工作量管理系统设计与实现
vue.js·spring boot·后端
Ares-Wang6 小时前
net Core》》包与库 LibMan、NPM
前端·npm·node.js
why1517 小时前
深信服golang面经
开发语言·后端·golang
言之。7 小时前
Go语言中new与make的深度解析
开发语言·后端·golang
田秋浩8 小时前
Springboot 跨域拦截器配置说明
java·spring boot·后端
观无9 小时前
VsCode开发环境之Node.js离线部署
ide·vscode·node.js
汇匠源9 小时前
Spring Boot + +小程序, 快速开发零工市场小程序
spring boot·后端·小程序