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

package.json指南

时间:2023-04-03 17:44:56 Node.js

1.name设置包的名称。示例:"name":"nodejs_cn"名称必须小于214个字符,不能包含空格,只能包含小写字母、连字符(-)或下划线(_)。这是因为当一个包在npm上发布时,它会根据这个属性获得自己的URL。如果包在GitHub上公开发布,GitHub存储库的名称是该属性的不错选择。其次,author列出包的作者姓名。示例:{"author":"NodeJS中文网(http://nodejs.cn)"}也可以使用如下格式:{"author":{"name":"NodeJS中文网website","email":"mail@nodejs.cn","url":"http://nodejs.cn"}}三、贡献者项目除了作者之外,可以有一个或多个贡献者。该属性是一个列出它们的数组。示例:{"contributors":["NodeJS中文网(http://nodejs.cn))"]}也可以使用如下格式:{"contributors":[{"name":"NodeJS中文网","email":"mail@nodejs.cn","url":"http://nodejs.cn"}]}四、bug链接到包的issuetracker,最常用使用的是GitHub的问题页面。示例:{"bugs":"https://github.com/nodejscn/node-api-cn/issues"}五、homepage设置包的首页。示例:{"homepage":"http://nodejs.cn"}6.version指定软件包的当前版本。示例:“版本”:“1.0.0”此属性遵循版本的语义版本符号,这意味着版本始终表示为3个数字:x.x.x。第一个数字是主版本号,第二个数字是次版本号,第三个数字是补丁版本号。这些数字的含义是,仅修复缺陷的版本是补丁版本,引入向后兼容更改的版本是次要版本,而具有破坏性更改的版本是主要版本。七、license指定软件包的许可证。示例:"license":"MIT"8.keywords该属性包含一组与包的功能相关的关键字。示例:"keywords":["email","machinelearning","ai"]这有助于人们在浏览类似包或浏览https://www.npmjs.com/网站时找到你的包。九、description该属性包含对包的简要描述。例子:"description":"NodeJS中文网入门教程"如果你想把包发布到npm,这个属性特别有用,让人知道这个包是做什么用的。十、repository这个属性指定了这个包仓库的位置。示例:"repository":"github:nodejscn/node-api-cn",注意github前缀。其他流行的服务提供者包括:"repository":"gitlab:nodejscn/node-api-cn","repository":"bitbucket:nodejscn/node-api-cn",可以显式设置版本控制系统:"repository":{"type":"git","url":"https://github.com/nodejscn/node-api-cn.git"}你也可以使用其他版本控制系统:"repository":{"type":"svn","url":"..."}十一、main设置软件包的入口点。在应用程序中导入此包时,应用程序会在此位置搜索模块的导出。例子:"main":"src/main.js"12.如果private设置为true,可以防止application/package被意外发布到npm。例子:"private":true十三、scripts可以定义一组可以运行的节点脚本。示例:"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"}这些脚本是命令行应用程序。它们可以通过调用npmrunXXXX或yarnXXXX来运行,其中XXXX是命令的名称。例如:npmrundev。您可以为命令使用任何名称,为脚本使用任何操作。15.dependencies设置是作为依赖项安装的npm包的列表。使用npm或yarn安装包时:npminstallyarnadd包将自动插入到此列表中。示例:"dependencies":{"vue":"^2.5.2"}16.devDependencies设置为作为开发依赖项安装的npm包列表。它们与依赖项的不同之处在于它们只需要安装在开发机器上而无需在生产环境中运行代码。当使用npm或yarn安装包时:npminstall--save-devyarnadd--dev包会自动插入到这个列表中。例子:"devDependencies":{"autoprefixer":"^7.1.2","babel-core":"^6.22.1"}十七、engines设置这个包/应用程序将运行的Node.js或其他版本命令。例子:"engines":{"node":">=6.0.0","npm":">=3.0.0","yarn":"^0.13.0"}18.browserslist用来通知哪个支持浏览器(及其版本)。Babel、Autoprefixer和其他工具使用它来向目标浏览器添加所需的polyfill和回退。示例:"browserslist":[">1%","last2versions","notie<=8"]这个配置意味着所有使用率在1%以上的浏览器(来自CanIUse.com的统计)都需要支持。最新的2个主要版本的浏览器,不包括IE8及以下版本。19.Command-specificpropertiespackage.json文件中还可以携带command-specific的配置,比如babel,ESLint等,每一个都有独特的属性,比如eslintConfig,babel等,它们是command-specific的,如何使用它们可以在相应的命令/项目文档中找到。20.包版本在上面的描述中,我们看到了类似这样的版本号:~3.0.0或^0.13.0。它们是什么意思以及可以使用哪些其他版本说明符?此符号指定包可以从此依赖项接收的更新。由于使用semver(语义版本控制),所有版本都有3个数字,第一个是主要版本,第二个是次要版本,第三个是补丁版本,详见规则。您还可以在范围内组合上述大部分内容,例如:1.0.0||>=1.1.0<1.2.0,即使用1.0.0或从1.1.0开始但低于1.2.0的版本。本文转自http://nodejs.cn/learn/the-package-json-guide