概要
npm init [--force|-f|--yes|-y|--scope]
npm init <@scope> (same as `npx <@scope>/create`)
npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`)
示例
使用create-react-app创建基于React 的项目:
$ npm init react-app ./my-react-app
使用create-esm创建兼容ECMAScript的项目:
$ mkdir my-esm-lib && cd my-esm-lib
$ npm init esm --yes
使用旧版初始化生成简单的package.json:
$ mkdir my-npm-pkg && cd my-npm-pkg
$ git init
$ npm init
默认生成(不进行生成时提问):
$ npm init -y
描述
npm init <initializer> 可以用来设置一个新的或者已存在的npm包。
在本例中,initializer是名字为create-<initializer>的包,这个包将会被npx安装,然后执行其主文件-大体上是创建或者更新package.json,并且执行其他初始化相关的操作。
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.
如果省略initializer(直接执行npm init),初始化将会返回旧的初始化行为。它会问你一堆问题,然后为你生成一个package.json。它将尝试基于所选的现有字段、依赖项和选项做出合理的猜测。它是严格相加的,因此它将保留已经设置的任何字段和值。你也可以用-y / --yes来跳过整个问卷。如果你传入 --scope ,它将创建一个域级包(@scope/package e.g. @babel/cli、@angular/core)。