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

https://github.com/vuejs/vue-cli/blob/dev/package.json

相关推荐
用户47949283569151 天前
年薪百万的 React 功底怎么“装进”AI?Vercel 的这个 Skill 给了标准答案
前端·aigc·ai编程
jason_yang1 天前
这5年在掘金的感想
前端·javascript·vue.js
一人の梅雨1 天前
亚马逊SP-API商品评论接口实战:情感分析+商业洞察挖掘的差异化方案
运维·前端·数据库
掘金一周1 天前
Dart 官方再解释为什么放弃了宏编程,并转向优化 build_runner ?| 掘金一周 1.15
前端
魔术师卡颂1 天前
提问量暴跌 80% ,Stack Overflow 却赚翻了?
前端·后端·ai编程
rocky1911 天前
什么,你还没用 claude,out 了吧!
前端·程序员
Younglina1 天前
想提升专注力?我做了一个web端的训练工具
前端·vue.js·游戏
NEXT061 天前
CSS 选择器深度实战:从“个十百千”权重法到零 DOM 动画的降维打击
前端·css
Mapmost1 天前
防患未“燃”:掌握森林火灾仿真分析,精准把控火势蔓延趋势
前端
半世轮回半世寻1 天前
前端开发里最常用的5种本地存储
前端·javascript