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...

相关推荐
johnrui16 分钟前
SpringBoot-JdbcTemplate
java·spring boot·后端
Victor3561 小时前
MongoDB(72)如何创建用户和角色?
后端
Victor3561 小时前
MongoDB(71)如何启用MongoDB身份验证?
后端
想打游戏的程序猿1 小时前
工具与协议层——Agent 如何连接世界
后端·ai编程
希望永不加班1 小时前
SpringBoot 过滤器(Filter)与请求链路梳理
java·spring boot·后端·spring
0xDevNull2 小时前
Java实现Redis延迟队列:从原理到高可用架构
java·开发语言·后端
糖炒栗子03262 小时前
Go 语言环境搭建与版本管理指南 (2026)
开发语言·后端·golang
恼书:-(空寄2 小时前
Spring 事务失效的 8 大场景 + 原因 + 解决方案
java·后端·spring
我是若尘2 小时前
我的需求代码被主干 revert 了,接下来我该怎么操作?
前端·后端·代码规范
dweizhao2 小时前
这份AI报告,把美股干崩了
后端