当我运行时,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"
}
Run Code Online (Sandbox Code Playgroud)
然而,这包括一些实际上似乎不需要的东西。
package.json什么?该文档指出,唯一的必填字段是name和version。
必填名称和版本字段
一个的package.json文件必须包含“名”和“版本”字段:
“ name ”字段包含您的包的名称,并且必须是小写和一个单词,并且可以包含连字符和下划线。
“版本”字段必须采用xxx形式并遵循语义版本控制指南。
根据该文件的init,似乎没有办法,只有这些领域虽然看起来初始化包一样,你需要自己做(或创建一个bash脚本,可以生成它为你)。
您可以像这样创建一个简单的脚本:
#!/bin/bash
printf "{\n\t\"name\": \"$1\",\n\t\"version\": \"$2\"\n}" > package.json
Run Code Online (Sandbox Code Playgroud)
并这样称呼它:
./init.sh test 1.0.0
Run Code Online (Sandbox Code Playgroud)
这将生成一个如下所示的文件:
{
"name": "test",
"version": "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)
如果您想要一个复制行为的脚本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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1558 次 |
| 最近记录: |