$ node
> var notif = require('./build/default/gtknotify.node');
> n = new notif.notification();
{ icon: 'terminal', title: 'Node.js' }
> n.send("Hello World!");
true
上述的代码将在你的屏幕右上方显示一个通知信息。
打成npm包
这是非常酷的, 但是怎样与Node社区分享你的努力的成果呢? 这才是npm主要的用途: 使它更加容易扩展和分发.
打npm的扩展包是非常简单的. 你所要做的就是在你的顶级目录中创建一个包含你的扩展信息的文件package.json :
{
// 扩展的名称 (不要在名称中包含node 或者 js, 这是隐式关键字).
// 这是通过require() 导入扩展的名称. "name" : "notify",
// Version should be http://semver.org/ compliant
"version" : "v0.1.0"
// 这些脚本将在调用npm安装和npm卸载的时候运行.
, "scripts" : {
"preinstall" : "node-waf configure && node-waf build"
, "preuninstall" : "rm -rf build/*"
}
// 这是构建我们扩展的相对路径.
, "main" : "build/default/gtknotify.node"
// 以下是可选字段:
, "description" : "Description of the extension...."
, "homepage" : "https://github.com/olalonde/node-notify"
, "author" : {
"name" : "Olivier Lalonde"
, "email" : "olalonde@gmail.com"
, "url" : "http://www.syskall.com/"
}
, "repository" : {
"type" : "git"
, "url" : "https://github.com/olalonde/node-notify.git"
}
}
关于package.json 格式的更多细节, 可以通过 npm help json 获取文档. 注意 大多数字段都是可选的.
你现在可以在你的顶级目录中通过运行npm install 来安装你的新的npm包了. 如果一切顺利的话, 应该可以简单的加载你的扩展 var notify = require(‘你的包名’);. 另外一个比较有用的命令式 npm link 通过这个命令你可以创建一个到你开发目录的链接,当你的代码发生变化时不必每次都去安装/卸载.
假设你写了一个很酷的扩展, 你可能想要在中央npm库发布到网上. 首先你要先创建一个账户:
$ npm adduser
下一步, 回到你的根目录编码并且运行:
$ npm publish
就是这样, 你的包现在已经可以被任何人通过npm install 你的包名命令来安装了.









