Node的定义:一个搭建在Chrome JavaScript运行时上的平台,用于构建高速、可伸缩的网络程序。

 
Node构建与JS之上,在服务器端,Node使用V8虚拟机,执行的是本地机器码,省去了编译和解释的过程,速度更快。
 
Node为服务端JS提供了一个事件驱动(事件轮询)的、异步(非阻塞IO)的平台。能够响应更多的请求。
 
Node针对的是数据密集型实时(DIRT)程序,目标是依靠自身轻量的IO处理模型,保证响应能力,实现和浏览器一样的实时响应效果。
 
Node提供了适用各种WIndows和UNIX系统的DIRT方式,底层的IO库屏蔽了宿主操作系统的差异性,程序可以在多个设备上移植和运行。

 
示例程序:
1、读取系统文件
var fs = require('fs');
fs.readFile('./resource.json', function (err, data) {
   console.log(data)
})
 
2、响应HTTP请求
var http = require('http');
http.createServer(fuction (request, response) {
   response.writeHead(200, {'Content-Type': 'text/plain'});
   response.end('Hello World\n');
}).listen(3000);
console.log('Server running at http://localhost:3000/');
 
这是另一种写法
var http = require('http');
var server=http.createServer();
server.on('request', fuction (request, response) {
   response.writeHead(200, {'Content-Type': 'text/plain'});
   response.end('Hello World\n');
});
server.listen(3000);
console.log('Server running at http://localhost:3000/');
 
3、异步处理读取的数据流
var fs = require('fs');
var stream = fs.createReadStream('./resource.json');
stream.on('data', function(chunk) {
  console.log(chunk);
});
steram.on('end', function() {
  console.log('finished');
});
 
4、向客户端返回图片
var http = require('http');
var fs = require('fs');
http.createServer(fuction (request, response) {
   response.writeHead(200, {'Content-Type': 'image/png'});
   fs.createReadStream('./image.png').pipe(response);
}).listen(3000);
console.log('Server running at http://localhost:3000/');
 

最新文章

  1. Spring Data JPA @EnableJpaRepositories配置详解
  2. 第三百二十二天 how can I 坚持
  3. Visual Studio无法添加断点
  4. 最大二位子数组和问题(homework-02)
  5. Java 与 Python 的对比
  6. 按钮制作技巧(css精灵效果)-高级版
  7. node.js(六) UTIL模块
  8. 菜鸟学Java(十九)——WEB项目測试好帮手,Maven+Jetty
  9. webapi中使用Route标签
  10. android的m、mm、mmm编译命令的使用
  11. 工具类总结---(六)---之http及https请求
  12. JavaSE教程-02Java基本语法-思维导图
  13. find 命令局部小结之 xtime
  14. 在SOUI中使用布局模板
  15. NOIP2018旅行
  16. java导出csv格式文件
  17. 关于jQuery实现CheckBox全选只能生效一次的问题
  18. python数据类型知识整理
  19. 清除 SQL Server Management Studio 服务器名称历史记录
  20. 配置Beyond Compare作为比较和合并工具

热门文章

  1. flutter系列之:Navigator的高级用法
  2. Python实战项目5-Git远程仓库/分支合并/冲突解决
  3. LeetCode-794 有效的井字游戏
  4. PACS系统各个功能介绍--九五小庞
  5. 信息学奥赛介绍-CSP
  6. DataTransfer.setDragImage()自定义拖拽图像遇到的坑
  7. Python elasticsearch_dsl 报错及解决方法
  8. mysql 主次数据库搭建
  9. C++ MFC学习 (五)
  10. 项目管理 VS. 个人计划