探索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) 如果这样子还是没有的话就会报错了~~~

相关推荐
GISer_Jing1 天前
React 18 过渡更新:并发渲染的艺术
前端·javascript·react.js
全栈技术负责人1 天前
前端网络性能优化实践:从 HTTP 请求到 HTTPS 与 HTTP/2 升级
前端·网络·http
码上暴富1 天前
Echarts雷达图根据数值确定颜色
前端·javascript·echarts
Mintopia1 天前
在混沌宇宙中捕捉错误的光——Next.js 全栈 Sentry / LogRocket
前端·javascript·next.js
Mintopia1 天前
长文本 AIGC:Web 端大篇幅内容生成的技术优化策略
前端·javascript·aigc
VueVirtuoso1 天前
SaaS 建站从 0 到 1 教程:Vue 动态域名 + 后端子域名管理 + Nginx 配置
前端·vue.js·nginx
少年阿闯~~1 天前
transition(过渡)和animation(动画)——CSS
前端·css·动画·过渡
Async Cipher1 天前
CSS 继承 (Inheritance)
前端·css
祈祷苍天赐我java之术1 天前
Vue 整体框架全面解析
前端·javascript·vue.js
洛小豆1 天前
Git 打标签完全指南:从本地创建到远端推送
前端·git·github