读《了不起的NodeJS》笔记 - nodejs 包管理(NPM)
关于node安装 篇幅很多就不再这里累赘;
创建一个main.js文件:
代码如下:
var http = require('http'); var colors = require('colors'); console.log('Hello World'.rainbow); var server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.end('<marquee>Learn NodeJS</marquee>'); }); server.listen(3000);
require表示相关的依赖包;
新版的node里面自动安装好了npm包管理器:
npm install colors
即可安装所需的包
在终端窗口
node main.js
浏览器里面 打开 http://localhost:3000 即可执行效果
一个简单的node程序就开始了。
注意:ubantu下安装后的 执行命令 nodejs main.js
如果需要更改请自行查看相关文档。。
自定义模块的好处:
1、可以很方便地将项目分享给其他人,不必将整个node_modules目录发给其他人。有了package.json之后,npm install 即可
2、可以很方便的记录所依赖板块的版本号
3、让分享更简单,如果你的项目不错的话,可以通过npm publish发布到npm库里面中供所有人下载
自定义一个colors模块
{ "name":"colors-project", "version": "0.0.1", "main": "./main", "dependencies":{ "colors":"0.5.0" } }
npm install
下载package中定义的模块
node main
or
node main.js
即可
npm publish
发布到NPM库里面
require(“colors-project”)
main表示 所依赖的模块 在main.js文件中使用
当包里面加上
"private": true的时候 可以避免误发布
直接npm publish 的时候 会报错:
npm adduser
输入你在https://www.npmjs.org/的账号 即可发布你的NPM模块
然后如果你使用的话 可以
npm install colors-project
即可
如果自己开发的模块可以发布上去,分享代码 or 给客户部署的话 都会很方便的说。。。
------华丽的分割线--------
安装二进制包:
有的项目需要分发的是Node编写的命令行工具
这个时候需要增加 -g 标志
如
npm install -g express
比如我们的项目
npm install -g meteorite
等等
安装的时候可能会出现错误的情况:
如果是在Linux 下的话 请使用root权限安装:
sudo npm install -g express
输入管理员密码即可
windows下的话 使用管理员权限执行cmd 进行操作即可
创建一个新目录:
mkdir node-express
cd node-express
express
即可 创建一个express 目录
node app
即可执行express
如果你安装了meteorite的 请使用
mrt create node-mrt
cd node-mrt
mrt
就可以开启meteorite的一个hello world demo
默认端口是3000
// 可以通过
npm search realtime
nom view realtime
等命令
查看关于其他的模块
相关NPM模块资料可查看:
http://www.elmerzhang.com/2011/09/nodejs-module-develop-publish/
http://www.infoq.com/cn/articles/msh-using-npm-manage-node.js-dependence
Express资料:
中文官方:http://expressjs.jser.us/
英文官方:http://expressjs.com/
Meteorite资料:
https://github.com/oortcloud/meteorite
https://www.meteor.com/
以上代码已经测试,如还有错误,欢迎指正;联系QQ:470486732