npm-developers Developer Guide

DESCRIPTION

因此,您已经决定使用npm来开发(也许发布/部署)您的项目.

Fantastic!

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

About These Documents

这些是手册页. 如果安装npm,则应该可以使用man npm-thing来获取有关特定主题的文档,或者使用npm help thing来查看相同的信息.

What is a package

一个包是:

即使您从未发布过软件包,如果您只想编写一个节点程序(a),或者如果您还希望能够在打包后将其轻松安装到其他地方,使用npm仍然可以获得很多好处.放入压缩档(b).

Git网址可以采用以下形式:

git://github.com/user/project.git#commit-ish
git+ssh://[email protected]:project.git#commit-ish
git+http://[email protected]/project/blah.git#commit-ish
git+https://[email protected]/project/blah.git#commit-ish

commit-ish可以是可以作为git checkout的参数提供的任何标记,sha或分支. 默认值为master .

The package.json File

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

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

您可以在包的根目录中使用npm init ,以开始使用非常基本的package.json文件. 有关更多信息,请参见npm-init .

Keeping files out of your package

使用.npmignore文件将内容保留在包中. 如果没有.npmignore文件,但一个.gitignore文件,然后将NPM忽略由相匹配的东西.gitignore文件. 如果包括.gitignore文件中排除的内容,则可以创建一个空的.npmignore文件以覆盖它. 像git一样, npm在包的所有子目录中查找.npmignore.gitignore文件,而不仅仅是根目录.

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

默认情况下,以下路径和文件将被忽略,因此无需将它们明确添加到.npmignore

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

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

如果在给定项目结构的基础上发现.npmignore令人头疼,则可以尝试填充package.jsonfiles属性,该属性是应包含在包中的文件或目录名称的数组. 有时,白名单比黑名单更易于管理.

Testing whether your .npmignore or files config works

如果要仔细检查软件包在发布时将只包含要发布的文件,则可以在本地运行npm pack命令,该命令将在工作目录中生成tarball,与发布时相同.

npm link is designed to install a development package and see the changes in real time without having to keep re-installing it. (You do need to either re-link or npm rebuild -g to update compiled packages, of course.)

有关更多信息,请访问npm-link .

Before Publishing: Make Sure Your Package Installs and Works

这个很重要.

如果您无法在本地安装它,则尝试发布它会遇到问题. 或者,更糟糕的是,您可以发布它,但是将发布损坏的或毫无意义的包. 所以不要那样做.

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

npm install . -g

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

npm link

使用npm ls -g查看它是否在那里.

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

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

将其本地安装到其他位置的node_modules文件夹中.

然后进入node-repl,并尝试使用require(" my-thing")引入模块的主模块.

Create a User Account

使用adduser命令创建一个用户. 它是这样的:

npm adduser

然后按照提示进行操作.

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

Publish your package

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

npm publish

您可以提供发布tarball的url或tarball的文件名或文件夹的路径.

请注意,默认情况下该文件夹中的几乎所有内容都将公开 . 因此,如果其中包含秘密内容,请使用.npmignore文件列出要忽略的.npmignore ,或从新的结帐中发布.

Brag about it

发送电子邮件,编写博客,在IRC中进行讨论.

告诉全世界安装程序很容易!

SEE ALSO


by  ICOPY.SITE