当前位置: 首页 > news >正文

Nodejs 第五章(Npm run 原理)

npm run xxx 发生了什么

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

image.png

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

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

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

image.png

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

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

npm 生命周期

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

    "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

image.png

http://www.lryc.cn/news/107083.html

相关文章:

  • 150. 逆波兰表达式求值
  • js中的设计模式
  • PostgreSQL:string_agg 多列值聚合成一列
  • 通向架构师的道路之apache_tomcat_https应用
  • iOS——锁与死锁问题
  • 恒运资本:股票总市值是什么意思?
  • Selenium Chrome Webdriver 如何获取 Youtube 悬停文本
  • 【LeetCode每日一题】——766.托普利茨矩阵
  • 第三方材料检测实验室LIMS系统源码 lims源码
  • 【数据结构与算法——TypeScript】数组、栈、队列、链表
  • [运维|中间件] Apache APISIX使用笔记
  • Android Intent 使用(详细版)
  • 【Clion 2】多行TODO使用
  • 【运维】hive 终端突然不能使用:Hive Schema version does not match metastore‘s schema version
  • P1049 [NOIP2001 普及组] 装箱问题
  • QCustomPlot获取选点坐标
  • Qt配置Android开发
  • 花费7元训练自己的GPT 2模型
  • 性能分析工具
  • 1.netty介绍
  • 【Jmeter】压测mysql数据库中间件mycat
  • leetcode原题 路径总和 I II III(递归实现)
  • 【css】css设置表格样式-边框线合并
  • 使用Flutter的image_picker插件实现设备的相册的访问和拍照
  • 数学建模体系
  • 13.7 CentOS 7 环境下大量创建帐号的方法
  • HTML5 Canvas(画布)
  • io的异常处理以及properties
  • Linux下基于Dockerfile构建镜像应用(1)
  • JS中常见的模块管理规范梳理