Node.js开发指南
上QQ阅读APP看书,第一时间看更新

2.1.1 生成package.json

正如后缀名的描述,package.json是一个JSON文件,读者可以手动创建它并声明对应的字段,也可以通过npm提供的命令来生成该文件。


// 在控制台中按照顺序运行以下命令
// 创建一个项目目录,并且使用npm初始化
// 最终会在npmTest目录下生成package.json
$ mkdir npmTest
$ cd npmTest
$ npm init

控制台窗口会询问一系列的问题,包括项目的名称、描述、关键字、仓库地址等,读者可以根据自己项目的实际情况在控制台中输入对应内容并回车,输入的内容都会作为文件的一部分写入package.json中。如果想要使用默认配置,也可以什么都不填直接按回车,或者直接使用npm init -y命令,等到package.json生成后再去修改也一样。


$ npm init
// 输出
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (npmtest)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/likai/Desktop/workspace/npmTest/package.json:
{
  "name": "npmtest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
Is this OK? (yes)

初始化的package.json文件内容如下。


{
  "name": "npmtest",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1",
     "start": "node main.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

其中,每个字段的含义如下。

• "name":当前项目的名称。

• "version":当前项目的版本号。

• "description":项目的描述。

• "main":项目的启动文件,默认名称为index.js,可自行修改。

• "scripts":一个JSON对象,可以在其中自定义npm命令。

• "keywords":项目关键字。

• "author":项目作者。

• "license":项目遵循的协议。