Node第五章(npm run)

201 阅读1分钟

npm run 原理

npm run xxx 发生了什么?

图片中直接执行 npm run dev 发生了什么?

读取package.json 中scripts 对象中对应的脚本命令,发现vite是一个可执行命令他的查找规则

  • 先从本地的node_modules/.bin去查找是否有vite这命令
  • 如果没有就去全局的node_modules/.bin去查找是否 有vite命令
  • 如果没有就去环境变量查找
  • 最后找不到就直接报错

如果找到会有这三个文件

为什么有三个文件呢?因为node是可以跨平台执行的

  • 图中vite 扩展名其实 是.sh 是给 Liux、Unix、Macos 使用的
  • vite.cmd文件 就是给windows系统cmd去使用的
  • vite.ps1文件 就是给windows系统 Powershell

npm生命周期

其实 npm执行命令也有生命周期

{
  "scripts":{
     "predev":"node pre.js",
     "dev":"node index.js",
     "postdev": "node post.js"
  }
}


当我执行了 npm run dev 他首先会先去执行pre.js 里面的东西 然后在去执行index.js里面东西

再去执行post.js里面东西

  • 这个是怎么执行的呢?

    • 首先 如果我们如果 使用npm run test 首先他会执行 yarn clean 这个命令 先删除之前的临时的文件

    • 然后才去执行test 命令

  • 运用场景:当我们 执行npm run build 打包的时候 首先要删除 上一次打包dist文件里面东西 再去进行打包