欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

npm package

程序员文章站 2021-11-28 11:22:56
...

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" : "[email protected]"
	}

您可以指定一个或两个值。如果只想提供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

相关标签: npm