zoukankan      html  css  js  c++  java
  • node.js学习笔记--day1

    今天第一天学习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协议。

  • 相关阅读:
    学习FPGA的几个阶段
    Quartus 编译问题Info (176311): Pin ~ALTERA_nCEO~ is assigned to pin location Pin_P28 (IOPAD_X115_Y43_N7)
    No Title
    最近比较忙
    如何在Qsys 中定制Nand_Flash软核(学习)
    Nand_Flash工作原理(学习)2
    (转)FPGA时序约束的几种方法
    ‘Downloading ELF Process failed’问题如何解决
    celery使用的时候的坑
    Git命令一览
  • 原文地址:https://www.cnblogs.com/jolee/p/5971060.html
Copyright © 2011-2022 走看看