1、name(名称):name属性是package.json文件中的必填字段,表示项目的名称,在package.json中设置name属性值时,需要遵循一定的规则
● 必须是小写
● 必须是一个词
● 可以包含连字符或者下划线
● 不应该用“_”或者“.”
2、version:version也是package.json文件的必填字段,该属性表示项目模块的当前版本。版本字段所需要遵循的规则语义版本控制准则。
3、engines:engines属性是键/值对的json对象,用于表示指定应用程序应在其上运行的库和运行的版本
"engines": {
"node": ">=10.0.0"
}
4、dependencies:dependencies属性表示应用程序运行时所需要的模块/软件包列表,安装依赖后,它将被添加到dependencies列表中
"dependencies": {
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^6.1.0",
"express": "^4.16.4",
}
5、devDependencies:devDependencies属性表示应用程序正常运行不需要的模块或者软件包列表,是开发依赖项
"devDependencies": {
"eslint": "^4.19.1",
"mocha": "^6.2.0",
"nodemon": "^1.19.1",
}
6、scripts:scripts属性采用键/值对的JSON对象,每个脚本都可以用于执行不同的任务集,例如构建、测试、整理应用程序,可以运行npm run scriptName或yarn scriptName在终端运行脚本
"scripts": {
"start": "node index",
"dev": "nodemon index",
"test": "jest",
"lint": "eslint ./server",
}
7、main:main属性用作应用程序的入口点,并且应指向应用程序入口点文件
"main": "app.js"
8、homepage:homepage属性用于指定应用程序/程序包的登录页面
"homepage": "https://github.com/github-username/project-name#readme",
9、private:private属性默认情况下为false,但也可以设置为true,以防止发布应用程序/程序包
"private": true
10、license:license属性表示项目正在使用的许可证类型
"license": "MIT"
11、author:author属性表示项目的创建者/作者
"author": "author-name"
12、repository:repository属性是键/值对的JSON对象,用于指定用于管理应用程序的版本控制系统,可以指定使用的版本控制的类型、存储库的URL以及存储库内的可选目录
"repository": {
"type": "git",
"url": "https://github.com/xxx/xxx.git"
}
13、bugs:bugs属性用于指向应用程序存储库的问题页面或可以报告项目任何问题的地方
"bugs": {"url":"https://github.com/xxx/xxx/issues"}
14、keywords:keywords属性值是一组关键字数组,可以帮助你识别项目并且使其他用户在搜素关键字的时候容易找到你的项目
"keywords": ["node", "javascript", "npm", "yarn"]
15、Custom Properties(自定义属性):package.json还可以用于特定的软件包命令,例如babel、eslint、jest等,可以在包装文档中找到用法,例如jest的自定义属性示例
"jest": {
"snapshotSerializers": [
"enzyme-to-json/serializer"
]
}