热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于javascript:packagejson-指南

一、name设置软件包的名称。示例:"name":"nodejs_cn"名称必须少于214个字符,且不能蕴含空格,只能蕴含小写字母、连字符(-)或下划线(_)。这是因为当软件包在npm上公布时,它会基于此属性取得本人的URL。如果在GitHub上公开地公布此软件包,则GitHub仓库的名称是作为此属性的不错抉择。二、author列出软件

一、name
设置软件包的名称。
示例:

"name": "nodejs_cn"

名称必须少于 214 个字符,且不能蕴含空格,只能蕴含小写字母、连字符(-)或下划线(_)。

这是因为当软件包在 npm 上公布时,它会基于此属性取得本人的 URL。

如果在 GitHub 上公开地公布此软件包,则 GitHub 仓库的名称是作为此属性的不错抉择。
二、author
列出软件包的作者名称。

示例:

{
  "author": "NodeJS中文网  (http://nodejs.cn)"
}

也能够应用以下格局:


{
  "author": {
    "name": "NodeJS中文网",
    "email": "mail@nodejs.cn",
    "url": "http://nodejs.cn"
  }
}

三、contributors
除作者外,该我的项目能够有一个或多个贡献者。 此属性是列出他们的数组。

示例:


{
  "contributors": ["NodeJS中文网  (http://nodejs.cn))"]
}

也能够应用以下格局:

{
  "contributors": [
    {
      "name": "NodeJS中文网",
      "email": "mail@nodejs.cn",
      "url": "http://nodejs.cn"
    }
  ]
}

四、bugs
链接到软件包的问题跟踪器,最罕用的是 GitHub 的 issues 页面。

示例:


{
  "bugs": "https://github.com/nodejscn/node-api-cn/issues"
}

五、homepage

设置软件包的主页。

示例:

{
  "homepage": "http://nodejs.cn"
}

六、version
指定软件包的以后版本。

示例:

"version": "1.0.0"

此属性遵循版本的语义版本控制记法,这意味着版本始终以 3 个数字示意:x.x.x。

第一个数字是主版本号,第二个数字是次版本号,第三个数字是补丁版本号。

这些数字中的含意是:仅修复缺点的版本是补丁版本,引入向后兼容的更改的版本是次版本,具备重大更改的是主版本。
七、license
指定软件包的许可证。

示例:

"license": "MIT"
八、keywords

此属性蕴含与软件包性能相干的关键字数组。

示例:

"keywords": [
  "email",
  "machine learning",
  "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"
十二、private
如果设置为 true,则能够避免应用程序/软件包被意外公布到 npm 上。

示例:

"private": true

十三、scripts
能够定义一组能够运行的 node 脚本。

示例:

"scripts": {
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "start": "npm run dev",
  "unit": "jest --config test/unit/jest.conf.js --coverage",
  "test": "npm run unit",
  "lint": "eslint --ext .js,.vue src test/unit",
  "build": "node build/build.js"
}

这些脚本是命令行应用程序。 能够通过调用 npm run XXXX 或 yarn XXXX 来运行它们,其中 XXXX 是命令的名称。 例如:npm run dev。

能够为命令应用任何的名称,脚本也能够是任何操作。
十五、dependencies
设置作为依赖装置的 npm 软件包的列表。

当应用 npm 或 yarn 装置软件包时:

npm install
yarn add

该软件包会被主动地插入此列表中。

示例:


"dependencies": {
  "vue": "^2.5.2"
}

十六、devDependencies
设置作为开发依赖装置的 npm 软件包的列表。

它们不同于 dependencies,因为它们只需装置在开发机器上,而无需在生产环境中运行代码。

当应用 npm 或 yarn 装置软件包时:

npm install --save-dev 
yarn add --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"
}

十八、browserslist
用于告知要反对哪些浏览器(及其版本)。 Babel、Autoprefixer 和其余工具会用到它,以将所需的 polyfill 和 fallback 增加到指标浏览器。
示例:

"browserslist": [
  "> 1%",
  "last 2 versions",
  "not ie <= 8"
]

此配置意味着须要反对使用率超过 1%(来自 CanIUse.com 的统计信息)的所有浏览器的最新的 2 个主版本,但不含 IE8 及更低的版本。

十九、命令特有的属性

package.json 文件还能够承载命令特有的配置,例如 Babel、ESLint 等。

每个都有特有的属性,例如 eslintConfig、babel 等。 它们是命令特有的,能够在相应的命令/我的项目文档中找到如何应用它们。

二十、软件包版本

在下面的形容中,曾经看到相似以下的版本号:〜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


推荐阅读
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 本文详细探讨了JavaScript中数组去重的各种方法,并通过实际代码示例进行了深入解析。文章首先介绍了几种常见的去重技术,包括使用Set对象、过滤方法和双重循环等。每种方法都附有具体的实现代码,帮助读者更好地理解和应用这些技术。此外,文中还讨论了不同方法在性能上的优劣,为开发者提供了实用的参考。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
  • 在 Android 开发中,通过合理利用系统通知服务,可以显著提升应用的用户交互体验。针对 Android 8.0 及以上版本,开发者需首先创建并注册通知渠道。本文将详细介绍如何在应用中实现这一功能,包括初始化通知管理器、创建通知渠道以及发送通知的具体步骤,帮助开发者更好地理解和应用这些技术细节。 ... [详细]
  • C#编程指南:实现列表与WPF数据网格的高效绑定方法 ... [详细]
author-avatar
Kluter
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有