Skip to content

在早期(2009 年左右)npm 作者 Isaac Z. Schlueter 的博文里曾经把 npm 半开玩笑地写成 “node package manager”。后来为了避免大家误以为这是官方缩写,官方把这种说法从 README 里去掉了

npx 和 npm exec

两者差不多,主要的区别是npx的参数解析和exec不同

如果你需要传入不需要npm exec进行额外解析的参数,则需要--符号,它会让之后的所有参数都停止解析,并传递给需要执行的命令。npx默认做了这个行为

run

首先在script中获取到对应的命令,然后在node_modules/.bin中去找可执行命令文件,找不到就会去全局找。

init

它还有别名

  • create
  • innit(为什么要允许这种错误写法)
powershell
npm init <package-spec> (same as `npx create-<package-spec>`)
npm init <@scope> (same as `npx <@scope>/create`)

实际是通过exec来执行的

npm init foo -> npm exec create-foo

npm init @usr/foo -> npm exec @usr/create-foo

dist-tag

搭建npm私服

使用verdaccio

powershell
pnpm add -g verdaccio

然后就可以用了,可以使用--listen指定服务端口,或者--config指定配置文件

注意使用时npm要切换到对应的--register