1、背景
最近在试用vitejs,其中他的安装命令是:
npm init @vitejs/app
之前没有见过这种用法,所以没理解到底做了什么
2、用法详解
看了文档:小tips:你不知道的 npm init,明白了其具体含义。
其详细用法是:
npm init <initializer>可用于设置新的或现有的 npm 软件包。
initializer 在这种情况下将使用一个名为的create-<initializer> npm 软件包,先安装,然后执行它
将 init 命令转换为相应的 npx 操作,如下所示:
npm init foo - > npx create-foo
npm init @usr/foo - > npx @usr/create-foo
npm init @usr - > npx @usr/create
任何其他选项将直接传递到命令,因此 npm init foo --hello 将映射到 npx create-foo --hello。
如果省略了初始化程序(仅通过调用 npm init),则 init 将退回到传统的 init 行为。
那么NPX具体是怎么样的用法呢?
以npx create-foo为例
npx 将create-foo下载到一个临时目录,使用以后会删除掉,这样就减少了create-foo的全局安装。
3、含义解释
通过上面的知识可知
npm init @vitejs/app
same as:
npx @vitejs/create-app
这个时候NPX会把@vitejs/create-app安装到临时目录,然后执行 其node_modules/.bin下面的命令,然后再删除掉@vitejs/create-app