新手区 node.js 自学笔记(2)-创建 http 服务器

易寒 · 2015年02月11日 · 最后由 易寒 回复于 2015年02月12日 · 1292 次阅读

node.js 建立服务器的简便会让你乍舌的,看官请往下瞅

脚本

http.js 中内容如下:

var http = require('http');
http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type':'text/html'});
    res.write('<h1>Node.js</h1>')
    res.end('<p>Helloworld</p>')
}).listen(3000);
console.log("HTTP server is listening at port 3000.");

上面的脚本首先获取 http 模块,然后创建一个匿名函数作为 createServer 的回调函数,该回调函数就是创建一个页面。createServer 为创建服务器的函数,然后监听端口 3000.

执行该脚本

D:\node.js\0211>node http.js
HTTP server is listening at port 3000.

打开网页

在浏览器中输入http://localhost:3000/ 就会访问我们的 node 服务器了。

这里写图片描述

是不是 so easy!麻麻再也不用担心我的服务器了。

调试

node 中对服务器的脚本进行修改后,如果想要应用这些修改,是需要进行重启服务器的,即重新运行该脚本。那如何让其自动识别更新然后重启呢?用supervisor

安装 supervisor(windows),使用下面的命令安装

npm install -g supervisor

这个时候直接用 superviso 是会无法识别该命令的,需要把该路径设置到环境变量中,设置成功后执行 supervisor 命令就没问题了。

D:\node.js\0211>supervisor http.js

Running node-supervisor with
  program 'http.js'
  --watch '.'
  --extensions 'node,js'
  --exec 'node'

Starting child process with 'node http.js'
Watching directory 'D:\node.js\0211' for changes.
HTTP server is listening at port 3000.

这个时候如果修改了 http.js 的内容,命令行中会输出如下信息:

crashing child
Starting child process with 'node http.js'
HTTP server is listening at port 3000.

说明自动更新了内容,这个时候刷新网页,也会显示修改后的内容,这样调试会很方便。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 13 条回复 时间 点赞
匿名 #1 · 2015年02月11日

这么快就第二期了,,,坐等 “屠版”

#1 楼 @link1220 我擦,我一天一个,屠的话就放合集了

看懂了,继续加油 0^
坐等合集→_→

#3 楼 @weamylady 我写的这么通俗易懂,你要看不懂的话,我就自杀了

node 是好东西啊 javascrip 威武.
nodejs+go+java 未来世界的三大主流语言

#5 楼 @seveniruby appium 客户端就是用它写的,必须得弄明白。不然不好开展

#6 楼 @doctorq appium 用它来写 反而是一种负担. 因为会 nodejs 的人太少了. nodejs 的代码不好组织. 如果用 java 写会更好. nodejs 本来要火的. 不过将来服务端他占比不会大. 不少国外企业已经开始从 nodejs 迁移到 go. 但是 node 作为前端的管理框架和后端特殊场景, 还是非常有用的.

#7 楼 @seveniruby go 语言很火啊,听到不止一次了,看来能花时间收藏一下。

#8 楼 @doctorq Go 是对 C 的强化. 原生永远都比 Jvm 有更大的性能提升. 人们会从 C 转向 Go. Jvm 生态很强大, 所以还会有很大一部分产品会继续留在 Jvm 上. Nodejs 会完善前端. 但是他目前的特点没法很好的胜任后端的工作. 只能适合特殊的场景. 总体还是偏前端.

#8 楼 @doctorq 不用急. 因为 Go 需要很多年才能普及. Nodejs 也是小众, 目前很多公司还是用 Jvm, 如果你想找到好工作, 还是得立足于目前的 Java 或者 C

易寒 #11 · 2015年02月11日 Author

#10 楼 @seveniruby jvm 也值得研究,昨天的面试就问了 jvm 的东西。可以先了解一下 go 语言基础,暂时不做深入研究。

#11 楼 @doctorq 在找工作呀! 别着急,多研究点技术,发多点文章- 3-

易寒 #13 · 2015年02月12日 Author

#12 楼 @weamylady 我一点都不急,过个好年回来再说

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册