裸机最小package.json

时间:2019-08-05 20:05:49

标签: npm package.json

运行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"
}

但是,这包括实际上不需要的几件事。

  1. 最低package.json实际上是什么?
  2. 而且,我真的想知道的是,有没有我可以用来生成那个的命令或标志?

1 个答案:

答案 0 :(得分:1)

documentation指出唯一需要的字段是nameversion

  

必填名称和版本字段

     

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