描述

中英双语

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