当前位置: 首页 > 后端技术 > Node.js

Node.js学习总结-----package.json

时间:2023-04-03 20:39:55 Node.js

什么是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(http://whatever.com)"}2.3contributors与作者相同,一个项目有一个或多个贡献者。这个属性是一个数组。{"contributors":["Joe(https://whatever.com)"]}指向2.4错误包的问题跟踪器的链接,例如GitHub问题页面。{"bugs":"https://github.com/whatever/package/issues"}2.5homepage设置包的首页{"homepage":"https://whatever.com/package"}2.6版本显示包Version的当前版本。{"version":"1.0.0"}2.7license显示包的许可证。{"license":"MIT"}2.8keywords该属性包含一组与包的功能相关的关键字。{"keywords":["email","machinelearning","ai"]}2.9description该属性包含包的简短描述。{"description":"Apackagetoworkwothstrings"}2.10repository这个属性具体描述了这个包的库所在的位置。{"repository":"github:whatever/testing"}2.11主要设置是包的入口。{"main":"scr/main.js"}2.12private如果设置为true,将防止app/package意外发布到npm。{"private":true}2.13scripts定义了一系列开发者可以运行的节点脚本。{“脚本”:{“开发”:“webpack-dev-server--inline--progress--configbuild/webpack.dev.conf.js”,“开始”:“npmrundev”,“单元”:"jest--configtest/unit/jest.conf.js--coverage","test":"npmrununit","lint":"eslint--ext.js,.vuesrctest/unit","build":"nodebuild/build.js"}}2.14dependencies设置了一系列需要安装的包。{"dependencies":{"vue":"^2.5.2"}}2.15devDependencies设置了一系列开发时需要安装的包。{"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1"}}2.16引擎设置当前包/应用程序应该运行的node.js版本。{"engines":{"node":">=6.0.0","npm":">=3.0.0","yarn":"^0.13.0"}}2.17browserslist用于告诉项目您希望支持的浏览器版本。{"browserslist":[">1%","last2versions","notie<=8"]}