首页 > 编程语言 >Nodejs 第五章(Npm run 原理)

Nodejs 第五章(Npm run 原理)

时间:2023-08-07 10:03:58浏览次数:40  
标签:Npm npm 执行命令 node Nodejs dev run vite

npm run xxx 发生了什么

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

Nodejs 第五章(Npm run 原理)_生命周期

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

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

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

Nodejs 第五章(Npm run 原理)_生命周期_02

因为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 github.com/vuejs/vue-c…

Nodejs 第五章(Npm run 原理)_Node.js_03

标签:Npm,npm,执行命令,node,Nodejs,dev,run,vite
From: https://blog.51cto.com/u_13463935/6991020

相关文章

  • Nodejs 第六章(npx)
    npx是什么npx是一个命令行工具,它是npm5.2.0版本中新增的功能。它允许用户在不安装全局包的情况下,运行已安装在本地项目中的包或者远程仓库中的包。npx的作用是在命令行中运行node包中的可执行文件,而不需要全局安装这些包。这可以使开发人员更轻松地管理包的依赖关系,并且可以避免全......
  • Nodejs 第七章(发布npm包)
    发布npm的包的好处是什么方便团队或者跨团队共享代码,使用npm包就可以方便的管理,并且还可以进行版本控制做开源造轮子必备技术,否则你做完的轮子如何让别人使用难道是U盘拷贝?面试题我面字节的时候就问到了这个增加个人IP让更多的人知道你的技术能力和贡献发布前准备工作npmadduser......
  • 如何构建一个 NodeJS 影院微服务并使用 Docker 部署
    前言如何构建一个NodeJS影院微服务并使用Docker部署。在这个系列中,将构建一个NodeJS微服务,并使用DockerSwarm集群进行部署。以下是将要使用的工具:NodeJS版本7.2.0MongoDB3.4.1DockerforMac1.12.6在尝试本指南之前,应该具备:NodeJS的基本知识Docker的基本知识(并且已经......
  • IDEA微服务开启RunDashboard|services
    IDEA微服务开启RunDashboard|services在微服务工程中,我们有时需要启动多个模块,RunDashboard【运行仪表盘】可以更好的帮助我们进行对启动的多个服务进行管理1、当前工程打开.idea文件夹下workspace.xml2、增加以下代码<componentname="RunDashboard"><optionname="con......
  • Nodejs安装与配置
    一、安装环境1、本机系统:Windows10家庭中文版64位2、Node.js:node-v8.2.0-x64.msi二、安装Node.js步骤1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/2、选安装目录进行安装3、环境配置4、测试三、开始安装1、下载完成后,双击“node-v8.2.0-x64.msi”......
  • Go Runtime功能初探
    GoRuntime功能初探旅途散记 2023-08-0407:45 发表于上海收录于合集#go44个题图来自 UnderstandCompileTime&&Runtime!ImprovingGolangPerformance(1)[1]以下内容,是对 运行时runtime的神奇用法[2] 的学习与记录目录:1.获取GOROOT环境变量2.获取GO的......
  • nvidia-docker启动容器报错 Unknown runtime specified nvidia
    使用nvidia-docker创建容器时报错:Errorresponsefromdaemon:Unknownruntimespecifiednvidia.See'dockerrun--help'.主要原因在于配置docker镜像时,daemon.json文件被修改了。只要添加对应内容即可。vim /etc/docker/daemon.json原文件:{"registry-mirr......
  • 基于NodeJS家政保姆网站
    21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对家政保姆网站进行了介绍,包括研......
  • Java Runtime.exec()的使用
    JavaRuntime.exec()的使用 Sun的doc里其实说明还有其他的用法:exec(String[]cmdarray,String[]envp,Filedir)Executesthespecifiedcommandandargumentsinaseparateprocesswiththespecifiedenvironmentandworkingdirectory.那个dir就是调用的程序......
  • python fitz模块报错RuntimeError: Directory ‘static/’ does not exist 解决方案
    报错fitz模块报错RuntimeError:Directory‘static/’doesnotexist原因使用Python处理PDF文档时,需要使用fitz模块。由于Python3.8以上版本与fitz有兼容问题,会出现以下错误信息:RuntimeError:Directory‘static/’doesnotexist解决办法卸载fitz模块,安装pymupdf模块......