Npm 裸最小包.json

Npm 裸最小包.json,npm,package.json,Npm,Package.json,当我运行npminit-y时,我得到以下package.json文件: { "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "licen

当我运行
npminit-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
    是什么
  • 我真正想知道的是,是否有一个命令或标志可以用来生成它
  • 声明唯一需要的字段是
    名称
    版本

    必需的名称和版本字段

    package.json文件必须包含“名称”和“版本”字段:

    name”字段包含包的名称,必须是小写和一个单词,并且可以包含连字符和下划线

    版本”字段的格式必须为x.x.x,并遵循

    根据for
    init
    ,似乎没有办法仅使用这些字段初始化包,但看起来您需要自己完成这项工作(或者创建一个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"
    }
    
    这样称呼它:

    #!/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"
    }
    
    这将生成一个如下所示的文件:

    #!/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
    

    我添加了一个bash脚本示例来根据给定的输入参数创建这个基本的包文件。这正是我想要的答案,希望下次我忘记的时候,它会出现在google上。没问题,因为我觉得很有趣,所以我忍不住添加了另一个示例脚本,它复制了
    npminit-y的行为