npm8中文文档
npm init <initializer>
可用于设置新的或现有的 npm 包。
在这种情况下,initializer
是一个名为 create-<initializer>
的 npm 包,它将由 npm-exec
安装,然后执行其主 bin —— 大概是创建或更新 package.json
并运行任何其他与初始化相关的操作。
init命令转化为对应的npm exec
操作如下:
npm init foo
-> npm exec create-foo
npm init @usr/foo
-> npm exec @usr/create-foo
npm init @usr
-> npm exec @usr/create
npm init @usr@2.0.0
-> npm exec @usr/create@2.0.0
npm init @usr/foo@2.0.0
-> npm exec @usr/create-foo@2.0.0
如果初始化器被省略(通过调用 npm init
),init 将回退到旧的 init 行为。它会问你一堆问题,然后为你写一个 package.json。它将尝试根据现有字段、依赖项和选择的选项进行合理的猜测。它是严格附加的,因此它将保留已设置的所有字段和值。您也可以使用 -y
/--yes
完全跳过问卷。如果您通过 --scope
,它将创建一个作用域包。
注意:如果用户已经全局安装了 create-<initializer>
包,那将是 npm init
使用的。如果您希望 npm 使用最新版本或其他特定版本,您必须指定它:
npm init foo@latest
# 从注册表中获取并运行最新的 create-foo
npm init foo@1.2.3
# 专门运行 create-foo@1.2.3