今天第一天学习node.js
下面记录下,node.js的学习
一、node.js的介绍
node.js的特点:单线程、异步、事件驱动。
优点:开发效率高(优化量少),性能高,应用范围广(electron框架--win8以上支持)
缺点:新,用的人少,中间件少,IDE不完善
劣势和解决:
1.默认不支持多核,用cluster可以解决
2.默认不支持服务器集群,node-http-proxy可以解决
3.使用nginx做负载均衡,静态由nginx处理,动态由node.js处理
4.forever或node-cluster实现难以恢复
框架比较
express:完善,稳定,文档全,社区大
koa:es6开发,正在完善中
Hapi:复杂,适合大型项目
二、安装node.js
下载地址:http://nodejs.cn/
安装完毕后测试
1.打开dos窗口。步骤:win-输入cmd回车
2.输入npm(window下node.js是自带npm的;linux下npm需另行安装)
查看npm的版本 npm -v
查看nodejs的版本 node -v
三、写Hello World
1.新建个js文件,命名为node_day1.js.编码格式为utf-8
2.在node_day1.js中 输入console.log("hello world");
3.在node_day1.js 文件目录窗口,按住,shift键+右击鼠标--选择"在此处打开命令窗口"
4.在命令窗口输入 node node_day1.js(文件名) 回车,运行完成!
停止运行 ctrl+c
服务器端写法:
1 //定义http对象 2 var http = require("http"); 3 //http创建了一个web服务,服务方法里带两个对象,request代表用户向浏览器发出的请求,response代表服务器向浏览器返回的对象 4 http.createServer(function(request,response){ 5 //写http协议头 6 response.writeHead(200,{"Content-Type":"text/html;charset=urf-8"}); 7 //清除第二次访问 8 if(request.url!=="/favicon.ico"){ 9 console.log("访问");10 response.write("hello world");11 response.end("结束");//不写没有http协议尾,写了产生两次访问12 }13 }).listen(8000);//监听8000端口14 console.log("Server running at http://127.0.0.1:8000/");
最后输入的即一个访问。
另,今天学的有点多,貌似好多东西学的不精。明天专门研究下htpp协议。