• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Node分享 展烨
 

Node分享 展烨

on

  • 478 views

node js 入门,by展烨

node js 入门,by展烨

Statistics

Views

Total Views
478
Views on SlideShare
478
Embed Views
0

Actions

Likes
2
Downloads
8
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 事件驱动机制是 Node.js 通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的 http 请求, Node.js 凭借事件驱动搞定一切
  • 这么做的好处有两个,一个是充分利用无阻塞 I/O 的特性,提高性能;另一个好处则是封装了底层的线程细节,通过事件消息留出业务的关注点给编程者,从而不用关注多线程编程里牵扯到的诸多技术细节。
  • CommonJS Modules/1.1.1

Node分享 展烨 Node分享 展烨 Presentation Transcript

  • Node.Js 入门分享 展烨 2012.7.10
  • 什么是 Node.js• JavaScript 最早是运行在浏览器中,然而浏 览器只是提供了一个上下文,它定义了使 用 JavaScript 可以做什么,但并没有“说” 太多关于 JavaScript 语言本身可以做什么。• Node.js 事实上就是另外一种上下文,它允 许在后端(脱离浏览器环境)运行 JavaScri pt 代码。
  • • 要实现在后台运行 JavaScript 代码,代码需要 先被解释然后正确的执行。 Node.js 的原理正 是如此,它使用了 Google 的 V8 虚拟机( Go ogle 的 Chrome 浏览器使用的 JavaScript 执行 环境),来解释和执行 JavaScript 代码。• Node.js 事实上既是一个运行时环境,同时又 是一个库。
  • Node.js 安装• Windows• http://nodejs.org/dist/v0.8.2/node-v0.8.2-x86.msi• 双击运行安装,在 cmd 里运行 node -v• 命令行将打印出 :• v0.8.2• 新版会将 node.exe 文件安装到 C:Program Files (x 86)nodejs 目录下,并将该目录添加进 PATH 环 境变量。
  • NPM• NPM 是 Node.js 的包管理器• Nodejs 自身提供了基本的核心模块。但是 在这些基本模块上开发实际应用需要较多 的工作。• npm install iconv (要注意模块的运行环 境 windows 、 linux ?)
  • Node.js 特点• 单线程事件模型,简单高效• 基于活跃的高性能 V8 引擎• 社区活跃,组件丰富
  • Hello word• console.log(‘hello word’);
  • http 例子• var http = require("http");• http.createServer(function(request, response) {• response.writeHead(200, {"Content-Type": "text/plai n"});• response.write("Hello World");• response.end();• }).listen(8888);• console.log(Server running at http://localhost:8888/ )
  • 异步编程风格• 从 NodeJS 的 API 设计中可以看出来,任何 涉及 I/O 的操作,几乎都被设计成事件回调 (callback) 的形式。• readdirSync• readdir
  • • // 同步读取目录中的内容 var fs = require("fs"); filenames = fs.readdirSync(“. ");for (i = 0; i < filenames.length; i++) { console.log(filenames[i]);}console.log("it is done");• // 异步读取目录中的内容 var fs = require("fs");fs.readdir(".", function (err, filenames) { if (err) throw err; var i; for (i = 0; i < filenames.length; i++) { console.log(filenames[i]); }});console.log("it is done");
  • require 模块• 在 nodejs 中,模块大概可以分为核心模块 和文件模块。• 核心模块是被编译成二进制代码,引用的 时候只需 require 表示符即可,如 require(‘f s)• 文件模块,则是指 js 文件、 json 文件或者 是 .node 文件。例如 require(‘./xxx.js’) 。
  • 编写一个简单的模块copy.js:function copy(){ console.log(‘copy’);}exports.copy = copy;use.js 来使用 copy.js :var s = require(‘./copy.js’);s.copy();
  • Node.js 能做什么• Web 站点• 前端部署工具(文件合并、压缩,解析 le ss ,复制文件夹等)• Assets 代理工具
  • Node.js 资料• Node 入门• http://www.nodebeginner.org/index-zh-cn.html• 深入浅出 Node.js• http://www.infoq.com/cn/master-nodejs• Node.js require  模块• http://blog.sina.com.cn/s/blog_9f1c093101015cbo.html• NodeJs@Taobao 旺旺群:• 1058077337
  • Thanks!