日期:2014-05-16  浏览次数:20345 次

Node.js从入门到深入——Node.js配置开发

Node.js配置开发

Node.js从入门到深入,为《Node.js从入门到深入》系列文章的博客文章,欢迎交流学习。by——danhuang

一、      windows配置

1、        官网(http://nodejs.org)下载node的windows系统相应(32和64)最新版本;

2、        下载完成安装;

3、        安装完成,查看node.js启动文件目录,一般是在“C:\Program Files\nodejs\node.exe”,将node.exe启动添加到windows的环境变量中;

4、        运行cmd,进入dos操作命令窗口,输入node –version查看是否安装成功;

二、      Linux配置

1、        官网下载最新版的nodejs for linux的安装包(32位和64位);

2、        解压压缩包 tar –zxvf node-v0.8.8.tar.gz(版本不同,名称不同)

3、        进入解压文件夹cd node-v0.8.8

4、        执行make

5、        执行make install

6、        安装完成后执行node –version查看版本信息;

三、      Hello world

安装成功以后,我们编写我们第一个node.js的程序——hello world

1、        在任意文件夹创建app.js;

2、        编辑文件app.js,填写如下代码:

 

var http =require('http');
http.createServer(function(req,res) {
         res.writeHead(200, { 'Content-Type': 'text/plain' });
         res.end('Hello World\n');
}).listen(1337,"127.0.0.1");
console.log('Serverrunning at http://127.0.0.1:1337/');

3、        进入相应app.js文件夹,执行

node app.js

可以查看如下结果:

Server running at http://127.0.0.1:1337

这样表示当前我们已经启动一个http服务器,监听本地localhost的1337端口

打开浏览器:输入http://127.0.0.1:1337,就可以看到hello world

      从这段时间回答入门同学的问题中,我总结了在第一个程序开发时遇到的问题。

1、        出现Error: Cannot find module

出现这个问题主要原因是在当前目录没有找到app.js,也就是刚才创建的app.js不再当前目录,需要进入app.js目录才可执行。

2、        出现Error: listen EACCES

这个问题的主要原因是监听端口被其他应用程序占用了,可以修改当前监听端口,例如将1337修改为3000

3、        如何退出

正常退出监听端口的方法是ctrl+c(windows和linux是一致的)

4、        第二次启动出现Error: listen EACCES

启动监听端口后,windows退出使用ctrl+c正常退出不会出现如上问题,linux如果使用了ctrl+z退出,再次启动的时候就会出现端口被占用的问题,解决方法使用ctrl+c退出,同时也可以netstat -nap | grep node查看监听的端口的进程id,使用kill -9杀死进程。当然我们不推荐使用第二种方法。

5、        更改node.js文件,服务器立即响应

app.js输出的是hello world,但现在我想输出hello baby,难道要重启node.js的启动文件吗?

6、        Windows下如何实现后台运行

有时候我们希望我们的程序一直运行,同时在ctrl+c退出的情况下继续运行。这里可以利用windows下的操作,在运行指令前加上start/b(start/b node app.js) 当然如果dos操作窗口关闭的时候,会同时退出监听。

7、        使用node运行js文件时,服务器是不会自动监控文件更改,然后重启的,这里需要使用到一些github用户开发的node.js模块。

常见的有:node-dev和nodemon

安装配置方法这里就不细讲,关于node.js的模块安装将会在第二章详细介绍。如上两个模块可以查看其官方安装使用介绍

nodemon :  https://github.com/remy/nodemon

node-dev :  https://github.com/fgnass/node-dev

希望入门遇到问题的同学可以继续的和我交流,帮助新同学更快的加入到node.js的开发团队来。