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

相关推荐
赛博切图仔12 分钟前
面试手写 Promise:链式 + 静态方法全实现
前端·javascript·面试
掘金安东尼18 分钟前
互联网不再由 URL 为核心入口
前端·人工智能·github
Moment20 分钟前
面试官:用户访问到一个不存在的路由,如何重定向到404 Not Found的页面 ❓❓❓
前端·javascript·面试
前端小巷子23 分钟前
深入 Vue3 computed
前端·vue.js·面试
未来的旋律~34 分钟前
Web程序设计
前端
全宝34 分钟前
实现一个有意思的眼球跟随卡片
前端·javascript·css
全宝41 分钟前
用css做一枚拟物风格的按钮
前端·css·svg
IT_陈寒1 小时前
3年Java开发经验总结:提升50%编码效率的7个核心技巧与实战案例
前端·人工智能·后端
yqcoder1 小时前
vue2 和 vue3 生命周期的区别
前端·javascript·vue.js
excel1 小时前
前端人必备的 JavaScript API 全面指南(含 postMessage、File、Stream、Web 组件等)
前端