NodeJS初探

1、NodeJs是什么
Node.js 是一个平台,建立在 Chrome JavaScript 运行时之上,目的是建立快速、可伸缩的网络应用。Node.js使用事件驱动,非阻塞的 I/O 模式,这使得他是轻量而高效的,能够在分布设备上完美运行高数据吞吐的实时应用。
这句话基本没有什么用,看完了不知道他是个什么东东,做了几个例子后知道了,确实是上面描述的那样。一句话NodeJs是用js来开发后台并生成html,通过非阻塞IO模式,使请求并发更高,但不适合CPU密集型的逻辑开发。
2、如何使用NodeJs
2.1 NodeJs安装很简单,官方下载一个.exe文件安装就OK了。可以参考:http://jingyan.baidu.com/article/b0b63dbfca599a4a483070a5.html,百度上搜到的。
2.2 废话不多说直接上第一个小例子
    1) 新建一个目录“nodeJSTest”
    2) 在目录下新建一个server.js,文件内容如下:
        var http = require('http');
        http.createServer(function(request, response){
            response.writeHead(200, {'Content-Type': 'text/plain'});
            response.end('Hello World\n');
        }).listen(8888);

        console.log('Server running at http://127.0.0.1:3000/');
    3) 打开命令行,cd到“nodeJsTest”目录下,执行node server命令
      
        
 
    4) 在浏览器输入 http://127.0.0.1:3000,浏览器显示“Hello World”,说明第一个示例成功!
3、使用Express
3.1 上面的那个例子是直接用NodeJs开发的,效率比较低。借助框架开发比较快,Express是一个NodeJs的web框架。可以帮助开发者快速生成项目结构,开发者只需要添加对应的逻辑即可。
3.2 Express示例
    1) 在nodeJSTest目录下,创建一个文件package.json,内容如下;
        {
          "name": "NodejsDemo",
          "description": "Hello World test app.",
          "version": "0.0.1",
          "private": true,
          "dependencies": {
            "express": "3.x"
          }
        }
    2) 打开命令行,cd到“nodeJsTest”目录下,执行npm -install命令,即可安装Express;
    3) 执行命令npm list,可以看到依赖的所有模块;
    4) 执行命令express testapp,生成项目。testapp为项目名称,生成目录如下:

 
    5) 进入testapp目录,执行命令npm start,启动项目。
      
        
 
    6) 在浏览器输入 http://127.0.0.1:3000,浏览器显示“Welcome to Express”,说明示例成功!
4、示例解释
4.1 两个例子的执行方式不同,第一个例子是使用原生的NodeJs环境开发的,直接编写一个js文件,然后通过node命令来执行该文件,例子的代码是启动一个httpserver,也可以是任意内容。第二个例子是通过npm命令来启动的。npm是NodeJs的包管理器,可以管理各种包之间的依赖,和Maven类似。第二个例子使用了Express框架,该框架生成了一个固定的项目结构,而且是一个web的项目结构,因此也会启动一个httpserver,只是启动方式发生了变化。npm start命名是包管理器的命令,安装完nodeJs时npm自动安装。调用npm start命令时,会加载该目录下的package.json文件,该文件中包含了执行语句"start": "node ./bin/www",实际也是调用了node命令,和第一个例子一样。如果深入可以查看执行目录中的js文件。


 
4.2 如何开发html呢?总不能用js拼装html吧,这样效率更低了。Express集成了jade,可通过模板的方式来生成html,这样可以很方便完成整个前端的开发。当然jade也是一套新的开发语言,需要有个学习周期。推荐一个学习地址可以作为了解:http://www.w3cplus.com/html/jade.html


就到这吧,刚学了一点点,稍后继续深入。大家多提建议,共同进步。

猜你喜欢

转载自hongtanke.iteye.com/blog/2323003