什么是package.json?package.json文件是一种显示项目的方式。它是工具配置的中央存储库。这也是npm和yarn存储所有已安装包的名称和版本的地方。1.文件结构以下是package.json文件的示例:{}这是一个空对象。对于应用程序中的package.json文件,没有固定的要求,只是需要符合JSON格式。但是如果你正在构建一个你想通过npm分发的Node.js包,事情就不同了,必须有一组属性来帮助其他人使用它。这是另外一个package.json文件:{"name":"test-project"}在这个文件中,定义了name属性,可以定义app或者package的名称。下面这个文件有更多的属性:{"name":"test-project","version":"1.0.0","description":"AVue.jsproject","main":"src/main.js","private":"true","scripts":{"dev":"webpack-dev-server--inline--progress--configbuild/webpack.dev.conf.js","start":“npmrundev”,“unit”:“jest--configtest/unit/jest.conf.js--coverage”,“test”:“npmrununit”,“lint”:“eslint--ext。js,.vuesrctest/unit","build":"nodebuild/build.js"},"depedencies":{"vue":"^2.5.2"},"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1","babel-eslint":"^8.2.1","babel-helper-vue-jsx-merge-props":"^2.0.3","babel-jest":"^21.0.2","babel-loader":"^7.1.1","babel-plugin-dynamic-import-node":"^1.2.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-runtime":"^6.22.0","babel-plugin-transform-vue-jsx":"^3.5.0","babel-preset-env":"^1.3.2","babel-preset-stage-2":"^6.22.0","chalk":"^2.0.1","copy-webpack-plugin":"^4.0.1","css-loader":"^0.28.0","eslint":"^4.15.0","eslint-config-airbnb-base":"^11.3.0","eslint-friendly-formatter":"^3.0.0","eslint-import-resolver-webpack":"^0.8.3","eslint-loader":"^1.7.1","eslint-plugin-import":"^2.7.0","eslint-plugin-vue":"^4.0.0","extract-text-webpack-plugin":"^3.0.0","file-loader":"^1.1.4","friendly-errors-webpack-plugin":"^1.6.1","html-webpack-plugin":"^2.30.1","jest":"^22.0.4","jest-serializer-vue":"^0.3.0","node-notifier":"^5.1.2","optimize-css-assets-webpack-plugin":"^3.2.0","ora":"^1.2.0","portfinder":"^1.0.13","postcss-import":"^11.0.0","postcss-loader":"^2.0.8","postcss-url":"^7.2.1","rimraf":"^2.6.0","semver":"^5.3.0","shelljs":"^0.7.6","uglifyjs-webpack-plugin":"^1.1.1",“网址加载er":"^0.5.8","vue-jest":"^1.0.2","vue-loader":"^13.3.0","vue-style-loader":"^3.0.1","vue-template-compiler":"^2.5.2","webpack":"^3.6.0","webpack-bundle-analyzer":"^2.9.0","webpack-dev-server":"^2.9.1","webpack-merge":"^4.1.0"},"engines":{"node":">=6.0.0","npm":">=3.0.0"},"browserslist":[">1%","last2versions","notie<=8"]}version表示当前版本,description是对app/package的简单描述,主要设置入口pointoftheapplication.如果private设置为true,将防止app/packages意外发布到npmscripts定义了一系列开发者可以运行的node脚本dependencies设置了一系列需要安装的包devDependencies设置了一系列development需要安装Packageengines设置当前package/app应该运行的node.js的版本browserslist用于告诉项目你希望支持哪个浏览器版本的属性,但同样适用于不作为包使用的原生应用.这些属性中的大多数仅在https://www.npmjs.com/上使用,其他属性由与您的代码交互的脚本使用,例如npm或其他。2.1name设置包的名称。示例:"name":"test-project"名称必须小于214个字符,并且只能包含小写字母、连字符和下划线。2.2author列出包的作者姓名{"author":"Joe
