package.json 与 package-lock.json

package.json

描述项目所需要的各种模块以及配置信息,可以手动编写,也可以在项目根目录用 npm init 自动生成

{
  "name": "tech-doc-hugo",
  "version": "0.0.1",
  "description": "Hugo theme for technical documentation.",
  "main": "none.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/google/docsy-example.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/google/docsy-example/issues"
  },
  "homepage": "https://github.com/google/docsy-example#readme",
  "dependencies": {},
  "devDependencies": {
    "autoprefixer": "^9.8.6",
    "postcss-cli": "^7.1.2"
  }
}

package.json 文件要求必须包括nameversion 属性

  • author:作者,是在 npmjs.org 网站上的有效账户名
  • main:指定加载入口,默认值时模块根目录下的 index.js
  • script:指定命令行缩写所要执行的命令,默认是一个空的 test 脚本
  • repository:代码库地址,会直接在组件库的 npm 首页生效
  • bugs:开发者联系方式,一般是代码库的 issues 地址
  • dependencies:指定项目运行所需要的模块
  • devDependencies:指定项目开发所需要的模块
  • bin:指定各个内部命令对应的可执行文件的位置
  • license:开源协议,可看Choose an open source license
  • config:用于添加命令行的环境变量

依赖模块的版本

  • 指定版本 16.2.3
  • 波浪号 ~16.2.3:安装 16.2.x 的最新版本
  • 插入号 ^16.2.3:安装 16.x.x 的最新版本
  • latest:安装最新版本

package-lock.json

描述 node_modules 文件中所有模块的版本信息,模块来源及依赖的小版本信息,将整个依赖树锁死

参考资料

npm 官网 package.json 文档

npm 官网 package-lock.json 文档

package.json文件

package.json 详解

package-lock.json


最后修改于 2021-08-03