探索npm run dev的运行逻辑

在这个周末 运行项目的时候突发奇想 一直在运行的npm run dev到底是个什么意思 于是 开始了这一期的主题 探索npm run dev的运行逻辑

npm run dev在哪里

在大部分的vite项目中 想必大家都知道 npm run dev 这个命令是在对应的package.json文件里面 也就是这里

js 复制代码
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  } 

但如果在命令行中输入vite 尝试了一下是行不通的 那是为什么它可以如此运行呢? 都到这个地步了 总得去看看吧 那么我们就来see see 这是为什么呢

探索步骤

1.我们发现他是来自于vite 那么我们就去node包中寻找vite(ps:不知道为什么在掘金这里脚注没有作用,我手动脚注一下(挠头))

css 复制代码
[^node包]:node_modules

2.找到了之后我们去看一下里面的逻辑是怎么写的,发现在这里他用又跳了一层逻辑

3.之后我们按照他的"bin/vite.js"再去寻找

在这里我们发现了三个

三个不同的文件对应的是不同的平台适配

1.在第一个中 我们可以看到他是适配于UNIX系统的 通过shell脚本去执行vite.js

2.在第二个中 可以看到明显的后缀 cmd 基本适用于window系统

3.在第三个中 稍微复杂了一些 去搜了一些资料 大体是适配于 window mac unix等操作系统(感觉很牛逼 有大佬可以帮忙细细讲述一下嘛)

最后总结

在package.json中 去bin去寻找不同适配环境 去找一个环境变量 去执行 vite.js 如果没有找到 那么就去 全局包中寻找 (也就是这个命令npm install -g) 如果这样子还是没有的话就会报错了~~~

相关推荐
A小码哥几秒前
大模型成本怎么降,5 个动作先做前两个
java·前端·spring
PHP是世界上最好的语言13 分钟前
ComPDF预览本地正常,部署后白屏:检查资源、路径和许可
前端
kiros_wang14 分钟前
项目分包方案:模块拆分、跨模块组件与方法引用规范
前端
PedroQue9916 分钟前
unix-utils v0.2.0 发布:modal 全端统一,自绘窗口解决输入框难题
前端·uni-app
Csvn17 分钟前
网络优化
前端
代码猎人20 分钟前
前端怎么跟进生态新技术
前端
海阳皓辰网络科技有限公司20 分钟前
Vue3 冷库货位选择器:三级联动、扫码带出与批次混放校验
前端·vue.js
__sjfzllv___23 分钟前
在职前端Leader学习/转行 AI Agent -DAY81
前端
女生也可以敲代码24 分钟前
div上有红色下划线报错:JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“。ts(7026)
前端
申君健248641827720226 分钟前
ArkTS 速成指南(写给有 TypeScript / 前端经验的开发者)
前端