在早期(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