如何发布一个package到npm
以下面的一个简单需求为例来发布一个package到npm:访问github地址查看源码
发布一个say-hello-world
的package到npm; 这个package的功能是提供一个sayHelloWorld的方法。
注意:因为say-hello-world package已经发布到npm了,所以大家在跟随文档操作的时候需要换个名字。
第一步:
在项目的根目录下创建一个名字为node_modules的目录,此目录用来放置所有的node模块第二步:
在node_modules目录下名字say-hello-world目录;第三步:
say-hello-world目录下新建两个文件:index.js
function sayHelloWorld() { console.log("Hello world !"); } module.exports = sayHelloWorld;
package.json
{ "name": "say-hello-world", // package的名称 "author": "yourname <me@hello.com> (http://hello.com)", // 作者的相关信息 "version": "0.0.1", // 版本号(semantic version) "main": "index" // 入口文件,当在其他文件中require('say-hello-world')时,将会加载index.js }
- 发布say-hello-world包到npm
到这里,我们已经成功发布了say-hello-world包到npm,接下来我们来尝试使用一下say-hello-world包
- 先新建一个空的目录
test
;然后在命令行中切换到test
目录; - 然后执行
npm install say-hello-world
命令; - 执行成功后在
test
目录下看到多了一个node_modules
的目录,在node_modules
目录中就可以看到我们刚才发布的say-hello-world
package; - 然后再
test
目录下新建一个hello-world.js
来测试一下sayHelloWorld()
方法,hello-world.js
中的内容如下:var sayHelloWorld = require('say-hello-world'); sayHelloWorld();
- 在命令行中进入
test
目录,然后执行node hello-world.js
,就会在看到输出:Hello world !
.
如何更新发布到npm的package?(以刚才发布的say-hello-world为例)
当我们对say-hello-world做了改动就需要更新到npm.
- 进入到
say-hello-world
目录, 对index.js
做一些修改(做为要更新的内容) - 然后再命令行执行
npm version patch
, 此命令会把package.json
的version
更新到0.02
- 然后执行
npm publish
就可以更新到npm了