zoukankan      html  css  js  c++  java
  • nodejs的安装及入门

    ---恢复内容开始---

    nodejs的安装请参考官网:https://github.com/joyent/node/wiki/Installation

    第一 小试牛刀

    在服务器的根目录创建server.js

    1 //请求(require)Node.js自带的http模块 并且将其赋值给http
    2 var http = require("http");
    3 //调用http的createServer函数,这个函数返回一个对象。这个对象有一个listen方法 此方法接收一个数值参数 用来指定服务器端口号
    4 //看到里面的function没有 这个可是高级货啊  在js里面可以进行函数的传递 并且这里使用的是匿名函数。
    5 http.createServer(function(reueset , response){
    6     response.writeHead(200, {"Content-Type" : "text/plain"});
    7     response.write("hello world");
    8     response.end();
    9 }).listen(8888);

    运行node server.js

    然后在浏览器里面访问localhost:8888 你会在页面上看到   hello world

    第二:nodejs是基于事件驱动的

    多问下自己nodejs为什么是基于事件回调的?

    建议先看下:

    Understanding node.js

    当我们使用 http.createServer 方法的时候,我们当然不只是想要一个 侦听某个端口的服务器,我们还想要它在服务器收到一个 HTTP 请求的 时候做点什么。

    问题是,这是异步的:请求任何时候都可能到达,但是我们的服务器却 跑在一个单进程中。

    写 PHP 应用的时候,我们一点也不为此担心:任何时候当有请求进入 的时候,网页服务器(通常是 Apache)就为这一请求新建一个进程, 并且开始从头到尾执行相应的 PHP 脚本。

    那么在我们的 Node.js 程序中,当一个新的请求到达 8888 端口的时候, 我们怎么控制流程呢?

    嗯,这就是 Node.js/JavaScript 的事件驱动设计能够真正帮上忙的地方 了——虽然我们还得学一些新概念才能掌握它。让我们来看看这些概念 是怎么应用在我们的服务器代码里的 

    我们创建了服务器,并且向创建它的方法传递了一个函数。无论何时我 们的服务器收到一个请求,这个函数就会被调用。

    我们不知道这件事情什么时候会发生,但是我们现在有了一个处理请求 的地方:它就是我们传递过去的那个函数。至于它是被预先定义的函数 还是匿名函数,就无关紧要了。

    这个就是传说中的 回调 。我们给某个方法传递了一个函数,这个方法 在有相应事件发生时调用这个函数来进行 回调 。 

    第三:服务器是如何处理请求的 

    当回调启动,我们的 onRequest() 函数被触发的时候,有两个参数被传 入:request 和 response 。

    它们是对象,你可以使用它们的方法来处理 HTTP 请求的细节,并且响 应请求(比如向发出请求的浏览器发回一些东西)。

    所以我们的代码就是:当收到请求时,使用 response.writeHead() 函 数发送一个 HTTP 状态 200 和 HTTP 头的内容类型(content-type), 使用 response.write() 函数在 HTTP 相应主体中发送文本“Hello World"。

    最后,我们调用 response.end() 完成响应 

    第四 模块化

    如何模块化?

    看下代码 server.js

     1 var http = require("http");
     2 function start() {
     3    function onRequest(request, response) {
     4       console.log("Request received.");
     5       response.writeHead(200, {"Content-Type": "text/plain"});
     6       response.write("Hello World");
     7       response.end();
     8 }
     9    http.createServer(onRequest).listen(8888);
    10    console.log("Server has started.");
    11 }
    12 //关键的地方 导出什么呢?
    13 exports.start = start;

    在看看在index.js

      1 var server = require("./server");2 server.start(); 

     请求这个文件(server.js)并将其赋值给server变量,然后导出的函数就可以被使用了。

    这样之后,我们只需要执行 node index.js就启动服务了

  • 相关阅读:
    Notification的使用
    Spring面向切面之AOP深入探讨
    使用注解配置Spring框架自动代理通知
    回顾Spring框架
    Spring利器之包扫描器
    Spring 核心概念以及入门教程
    Struts 2之动态方法调用,不会的赶紧来
    Struts2之过滤器和拦截器的区别
    Struts 2开讲了!!!
    Mybatis开篇以及配置教程
  • 原文地址:https://www.cnblogs.com/greenboy/p/4537517.html
Copyright © 2011-2022 走看看