如何发布一个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-worldpackage; - 然后再
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了