设为首页 收藏本站
查看: 1230|回复: 0

[经验分享] node js学习(一)

[复制链接]

尚未签到

发表于 2017-2-23 11:43:58 | 显示全部楼层 |阅读模式
  1、简介
  JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了。


  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

  Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

2、node.js优点



  •   Node.js库的异步和事件驱动的API全部都是异步就是非阻塞。它主要是指基于Node.js的服务器不会等待API返回的数据。服务器移动到下一个API调用,Node.js发生的事件通知机制后有助于服务器获得从之前的API调用的响应。

  •   非常快的内置谷歌Chrome的V8 JavaScript引擎,Node.js库代码执行是非常快的。

  •   单线程但高度可扩展 - Node.js使用具有循环事件单线程模型。事件机制有助于服务器在一个非阻塞的方式响应并使得服务器高度可扩展,而不是创建线程限制来处理请求的传统服务器。Node.js使用单线程的程序,但可以提供比传统的服务器(比如Apache HTTP服务器)的请求服务数量要大得多。

  •   没有缓冲 - Node.js的应用从来不使用缓冲任何数据。这些应用只是输出数据在块中。

  •   许可证协议 - Node.js 在 MIT 协议 下发布



3、下载安装(Window 64位版本)

  64位下载地址:http://pan.baidu.com/s/1geaR3OZ

安装步骤:

      直接 双击node-v0.10.26-x86.msi文件默认安装即可。

配置环境变量:

  默认情况下,安装后Path中会将我们刚刚安装的node所在的路径添加到Path中,所没有则需要手动将其添加到Path环境变量中。

查看是否安装成功:

  在cmd 进入刚刚安装的路径,敲入如下的命令,查询其版本




node --version
  假如出现下面的界面则证明安装配置成功。
DSC0000.png



4、nodejs应用组成部分


  •   引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。

  •   创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  •   接收请求与响应请求 服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。



5、hello world程序


步骤一、引入 required 模块
  我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:





var http = require("http");
步骤二、创建服务器
  接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。
  实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:





var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World\n');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
  以上代码我们完成了一个可以工作的 HTTP 服务器。
  使用 node 命令执行以上的代码:





node server.js

  命令行输出如下信息,则说明服务器应用已经启动(上面打印的一句话)



Server running at http://127.0.0.1:8888/
  在浏览器中访问http://127.0.0.1:8888/ ,你就会看到“Hello World”页面
DSC0001.png



  分析Node.js 的 HTTP 服务器:


  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。


6、node.js适用场景



  •   I/O 绑定应用程序

  •   数据流应用

  •   数据密集型实时应用(DIRT)

  •   JSON API的应用程序

  •   单页面应用

  7、不太适合使用node.js的场景
  使用Node.js的就是针对CPU密集型应用。




  致谢:感谢您的阅读!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346203-1-1.html 上篇帖子: express实现前后端通信上传图片,存储数据库(mysql)傻瓜教程(二) 下篇帖子: 2015总结。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表