npm package

版权声明:如需转载请著明出处 https://blog.csdn.net/qq_37653449/article/details/87637083

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

猜你喜欢

转载自blog.csdn.net/qq_37653449/article/details/87637083
今日推荐