NPM-开发

NPM-开发商

开发者指南

描述

因此,您决定使用npm开发(并可能发布/部署)您的项目。

太棒了!

在您的用户安装程序的简单步骤之上,您需要做一些事情。

关于这些文件

这些是手册页。如果您安装了npm,那么您应该可以man npm-thing获取有关特定主题的文档,或者npm help thing查看相同的信息。

什么是 package

包裹是:

  • a)包含package.json文件描述的程序的文件夹

即使你从未发布过你的软件包,如果你只是想编写一个节点程序(a),你仍然可以获得使用npm的很多好处,也许你还希望能够在打包之后轻松地将它安装在别处。进入tarball(b)。

Git网址可以是以下形式:

git://github.com/user/project.git#commit-ish git+ssh://user@hostname:project.git#commit-ish git+http://user@hostname/project/blah.git#commit-ish git+https://user@hostname/project/blah.git#commit-ish

commit-ish可以是任何标签,沙,或分支可以作为参数被供给git checkout。默认是master

package.json文件

你需要package.json在项目的根目录中有一个文件,用npm做很多事情。这基本上就是整个界面。

有关package.json该文件中的内容的详细信息,请参阅。至少,你需要:

  • name:这应该是一个标识您的项目的字符串。请不要使用该名称来指定它在节点上运行,或者使用JavaScript。您可以使用“engines”字段显式声明程序所需的节点(或其他任何)的版本,并且很好地假设它是JavaScript。 它不一定需要匹配您的github存储库名称。 所以,node-foo并且bar-js是坏名字。 foo或者bar更好。

您可以npm init在包的根目录中使用,以便开始使用非常基本的package.json文件。有关详情npm-init,请参阅。

保存文件出你的包

使用.npmignore文件将东西从包中取出。如果没有.npmignore文件,但有一个.gitignore文件,然后将NPM忽略由相匹配的东西.gitignore文件。如果包含.gitignore文件排除的内容,可以创建一个空.npmignore文件来覆盖它。比如git,在包的所有子目录中npm查找.npmignore和查找.gitignore文件,而不仅仅根目录。

.npmignore文件遵循相同的模式规则 的.gitignore文件:

  • 以空格行或以行开头的行将#被忽略。

默认情况下,将忽略以下路径和文件,因此无需.npmignore显式添加它们:

  • .*.swp

此外,node_modules除了捆绑的依赖项外,所有内容都被忽略。NPM自动为您处理此,所以也懒得添加node_modules.npmignore

以下路径和文件永远不会被忽略,因此添加它们 .npmignore是没有意义的:

  • package.json

如果给定项目的结构,您会发现.npmignore维护问题,您可能会尝试填充files属性package.json,该属性是应包含在程序包中的文件或目录名称数组。有时白名单比黑名单更容易管理。

测试您的.npmignore或files配置是否有效

如果要在发布时仔细检查包中是否只包含您想要的文件,可以在npm pack本地运行命令,这将在工作目录中生成tarball,就像发布时一样。

链接包

npm link旨在安装开发包并实时查看更改,而无需继续重新安装。(当然,您需要重新链接或npm rebuild -g更新已编译的包。)

更多信息在npm-link

发布之前:确保您的包安装和工作

这个很重要。

如果您无法在本地安装它,则在尝试发布它时会遇到问题。或者,更糟糕的是,你将能够发布它,但你将发布一个破碎或毫无意义的包。所以不要这样做。

在包的根目录中,执行以下操作:

npm install . -g

那会告诉你它正在发挥作用。如果您只想创建指向工作目录的符号链接包,请执行以下操作:

npm link

使用npm ls -g,看看它的存在。

要测试本地安装,请进入其他文件夹,然后执行以下操作:

cd ../some-other-folder npm install ../my-package

将其本地安装到该位置的node_modules文件夹中。

然后进入node-repl,尝试使用require(“my-thing”)来引入模块的主模块。

创建用户帐户

使用adduser命令创建用户。它的工作原理如下:

npm adduser

然后按照提示操作。

这在 npm-adduser 中有更好的记录。

发布您的包裹

这部分很简单。在文件夹的根目录中,执行以下操作:

npm publish

您可以发布 tar 包的 tarl,tar 包的文件名或文件夹的路径。

请注意, 默认情况下,该文件夹中的所有内容都会公开。所以,如果你有秘密的东西,使用一个 .npmignore文件列出要忽略的globs,或从一个新的结帐发布。

吹嘘它

在 IRC 中发送电子邮件,撰写博客,blab。

告诉全世界安装程序是多么容易!