npm package

npm-package.json

description : 包的描述

在其中加入说明。这是一个字符串。这可以帮助人们发现您的包裹

name : 包名

如果您计划发布包,则package.json中最重要的内容是名称和版本字段,因为它们是必需的。名称和版本一起形成一个假定完全唯一的标识符。对程序包的更改应随更改版本一起提供。如果您不打算发布包,则名称和版本字段是可选的。这个名字就是你的名字

一些规则:
  • 名称必须小于或等于214个字符。这包括范围包的范围。
  • 名称不能以点或下划线开头。
  • 新包不得在名称中包含大写字母。
  • 该名称最终成为URL的一部分,命令行上的参数和文件夹名称。因此,名称不能包含任何非URL安全字符。
一些技巧:
  • 请勿使用与核心节点模块相同的名称。
  • 不要在名称中加上“js”或“node”。假设它是js,因为你正在编写一个package.json文件,你可以使用“engines”字段指定引擎。(见下文。)
  • 该名称可能作为参数传递给require(),因此它应该是简短的,但也是合理描述的。
  • 你可能想要检查npm注册表,看看是否已经有了这个名称的东西,然后再过于依赖它了。https://www.npmjs.com/

version : 版本

如果您计划发布包,则package.json中最重要的内容是名称和版本字段,因为它们是必需的。名称和版本一起形成一个假定完全唯一的标识符。对程序包的更改应随更改版本一起提供。如果您不打算发布包,则名称和版本字段是可选的。 版本必须由node-semver 解析 ,它与npm捆绑在一起作为依赖项。(npm install semver自己动手使用。)

keywords :关键字

将关键字放入其中。这是一个字符串数组。这有助于人们发现您列出的包裹npm search。

homepage :主页

项目主页的网址。

bugs : 错误

 项目问题跟踪器的URL和/或应报告问题的电子邮件地址 

它应该如下所示:

	{ 
	  "url" : "https://github.com/owner/project/issues",
	  "email" : "project@hostname.com"
	}

您可以指定一个或两个值。如果只想提供url,可以将“bugs”的值指定为简单字符串而不是对象。
如果提供了URL,则 npm bugs 命令将使用它。

main : 主文件

主要字段是模块ID,它是程序的主要入口点。也就是说,如果您的软件包已命名foo, 并且用户安装了该软件包,然后安装了该 软件包require("foo"),那么将返回主模块的exports对象。这应该是相对于包文件夹根目录的模块ID。对于大多数模块而言,最有意义的是拥有一个主脚本并且通常没有其他内容。

browser : 浏览器

如果您的模块用于客户端,则应使用 browser 字段而不是 main 字段。这有助于提示用户它可能依赖于Node.js模块中不可用的基元。(例如window)

bin : binary

很多软件包都有一个或多个可以安装到PATH中的可执行文件。npm使这很简单(事实上,它使用此功能来安装“npm”可执行文件。) 要使用它,请bin在package.json中提供一个字段,该字段是命令名称到本地文件名的映射。在安装时,npm会将该文件符号链接到 prefix/bin全局安装或./node_modules/.bin/本地安装。
例如,myapp可以这样:

{ "bin" : { "myapp" : "./cli.js" } }

然后执行

npm link

就可以把 myapp 当作全局的命令使用, 运行时执行./cli.js

man

 和项目相关的文档页面(man page)

repository

"repository": {
  "type" : "git",
  "url" : "https://github.com/facebook/react.git",
  "directory": "packages/react-dom"
}

scripts :脚本

“scripts”属性是一个包含脚本命令的字典,这些命令在包的生命周期中的不同时间运行。关键是生命周期事件,值是在该点运行的命令。

module

 遵循ES Module规范的打包工具识别的主入口文件字段 

typings

  指定typescript 类型声明文件

peerDependencies

 peerDependencies字段,就是用来供插件指定其所需要的主工具的版本

如: antd指定依赖的react 和react-dom 的版本大于16

"peerDependencies": {
  "react": ">=16.0.0",
  "react-dom": ">=16.0.0"
},

dependencies

  dependencies字段指定了项目运行所依赖的模块

devDependencies

  devDependencies指定项目开发所需要的模块。

dependencies和 devDependencies 都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。

指定版本:比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
波浪号(tilde)+指定版本:比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
插入号(caret)+指定版本:比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
latest:安装最新版本。

pre-commit

指定git commit 执行之前要运行的命令 依赖 pre-commit 模块 需要install pre-commit

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
npm package.json是一个用于描述和配置npm包的文件。它是一个包含了项目的元数据和依赖关系的JSON文件。在package.json中,你可以指定项目的名称、版本、作者、许可证等信息,同时还可以列出项目所依赖的其他npm包及其版本要求。 要创建一个新的package.json文件,你可以在终端中进入项目的根目录,并执行以下命令: ``` npm init ``` 这将引导你完成创建package.json文件的过程,你需要回答一些关于项目的问题,比如项目名称、版本、作者等。 另外,如果你想使用淘宝镜像来加快npm包的安装速度,你可以通过以下方法来设置npm镜像registry为淘宝镜像: ``` npm config set registry https://registry.npm.taobao.org ``` 这将把npm的默认registry设置为淘宝镜像,以后使用npm安装包时会从淘宝镜像源获取。 希望这些信息能够帮助到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [npmpackage.json详解](https://blog.csdn.net/xingmei_ok/article/details/90299089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [npmpackage.json](https://blog.csdn.net/jnshu_it/article/details/85228962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值