运行npm init -y
时,我得到以下package.json
文件:
{
"name": "myapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
但是,这包括实际上不需要的几件事。
package.json
实际上是什么?答案 0 :(得分:1)
documentation指出唯一需要的字段是name
和version
。
必填名称和版本字段
package.json 文件必须包含“ 名称”和“ 版本”字段:
“ 名称”字段包含您的软件包的名称,必须为小写字母和一个单词,并且可能包含连字符和下划线。
“ 版本”字段的格式必须为 x.x.x ,并遵循semantic versioning guidelines。
根据init
的{{3}}来看,似乎没有办法只用这些字段来初始化程序包,看起来您需要自己做(或创建一个bash脚本可以为您生成它。)
您可以创建一个简单的脚本,如下所示:
#!/bin/bash
printf "{\n\t\"name\": \"$1\",\n\t\"version\": \"$2\"\n}" > package.json
并这样称呼它:
./init.sh test 1.0.0
将生成如下所示的文件:
{
"name": "test",
"version": "1.0.0"
}
如果您想要一个脚本来复制npm init -y
的行为(使用目录名并将版本设置为1.0.0),请尝试以下操作:
#!/bin/bash
CURRENT=`pwd`
BASENAME=`basename "$CURRENT"`
printf "{\n\t\"name\": \"$BASENAME\",\n\t\"version\": \"1.0.0\"\n}" > package.json