创建时机不同
package.json 在使用npm init命令后创建
package-lock.json 在使用npm i命令后创建
作用不同
package.json, 保存项目描述信息,项目依赖信息,npm命令,必须上传git,因为不会把项目所依赖的模块文件夹node_modules上传到git上(太大了,几个G),所以你从git上拉取项目下来时,只要存在package.json,就可以执行npm i来安装依赖模块
package-lock.json, 项目依赖信息更加详细, 也必须上传git, 在多人协作时,这个文件用于限制每个人得到的项目依赖版本一致,不然不同人在不同时间得到的项目依赖包版本可能不一样, 很容易版本冲突或不兼容的BUG