为什么`npm init`假设NPM包构建?

时间:2018-06-01 20:36:28

标签: npm

这绝对是一个理论问题,但为什么运行npm init会在设置以下字段时提出一系列问题?

"name": "my-project-that's-definitely not going to npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"

我们中有很大一部分人正在使用npm仅用于它的包管理方面。在我看来,应该有一个选项,不要把它设置为任何东西但是包管理器,所以只是:

"dependencies": {
  "@whatever/somepackage": ">=4.0.0-beta <5.0.0",
},

我能想到的唯一理由是很多人也使用npm作为构建工具,因此这提供了运行脚本的入口点。那是对的吗?还有其他原因吗?

P.S。我知道我可以使用-y标志来默认字段,但仍会创建它们。

1 个答案:

答案 0 :(得分:0)

你是正确的npm最重要的目的是包管理器。 作为包管理器,它管理包的各个方面。 作为一个包,它意味着您的代码应该能够由他人分发和重用。 因此,这就是为什么需要基本信息,如名称,版本和许可证。

npm init是宣布这些内容的最佳地点和最佳时间。

正如您所提到的,您可以使用npm init -y来使用默认值,这样您就不必回答它们。