NODE.JS初体验

	最近公司在弄各种大改版,每一个都是BOSS项目,老板级的指示总是最高优先级的,so what ,作为一介小P民有什么发言权么?除了做好自己手上的工作,对于公司来说还有其他的意义吗?

以拜公司所赐,了解了NODE.JS,了解了自己在前端这方面与世界的隔离。废话不多说,简单介绍下NODE.JS吧

一、 NODE.JS是什么?

看下官方解释: 

node.js 不是JS应用,而是JS运行平台。它是由c++语言编写而成的,是一个js运行环境。是一个基于Google Chrome V8引擎的运行平台。

Node js采用事件驱动,异步编程,为网络服务而设计。

简单描述下:

node是基于Google V8引擎的服务器,实现了JS服务端化,所以有时候会成为nodejs,但并不只支持js,也支持coffee 等脚本语言。

JS这一个只在客户端运行的语言,现在被搬到了服务端,不免让前端工程师有点蠢蠢欲动,若真的可以大兴起成为全端也指日可待。下面我们看下怎么安装使用

二、 安装与使用NODE

1、 http://www.nodejs.org/ 在这里下载node 然后运行.msi 文件即可

2、 完成后,运行 node -v 可以校验是否成功

3、 安装完成后,就可以创建node 应用了

在你的工程目录下,新建一个文件夹命名为helloworld,在文件夹下,新建一个index.js文件,写入一下内容

var http = require('http');
http.createServer(function(request, response) {
        response.writeHead(200,{'Content-Type':'text/plain'});
	response.end('Hello World \n');
    }).listen(8888);
在工程目录下运行node index.js ,


服务器启动,就可以在浏览器中访问了。


一个很简单的node web应用就这样搭成了。如果是你曾经是java开发是不是会感叹,如此简单呢。。node的使用很简单也很容易上手,这点很优雅的继承了JS特点。

三、 使用NODE时遇到的问题

上手很简单,但就像后端去写css或者js一样,一旦出现差错,就好像无头苍蝇一样,不知怎么下手排查。

1、 利器 debugger 

有过开发经验的人都知道,debugger永远是我们与程序联接的桥梁,除非你对自己使用的语言,语言运行的环境,以及操作系统都非常了解,完全可以掌控自己的程序在某个时间正在做着什么,这种是不需要debugger这种东西的。但是不得不承认,大多数都不是那样的人,所以debugger就显得尤为重要。

使用方式同样很简单,在你想要观察的地方写上一句 debugger;

启动应用时,使用node debug index.js 启动

访问页面时,就会停止在这个地方


我们可以使用watch命令查看变量变化,命令

  watch(" response ") 查看变量
watchers 查看器    显示你想要查看的变量值 
很明显,debug使用的大部分目的就是更改某些地方,让程序按照曾经设想的方向发展,这时我们想要更改下js文件,但是node原生是不支持热部署的,更改之后必须重启应用,每次都是ctrl+c,然后node index.js ,虽然命令不是太复杂,时间间隔也可以忍受,但次数多了,也会觉得麻烦。于是就有了第二种方式。

2、 使用node-dev 模块

node另外一个强大的功能就是,可以支持插件,并且现在有很多可用的模块。node-dev 是便于开发调试的,当我们修改了js文件时,它可以帮我们自动重启node服务器,这样是不是感觉很舒服。。

安装npm install -g node-dev ,启动时 node-dev --debug  index.js 。

3、 在安装其他模块比如express时,会发现有可能一直卡在某个地方的现象,米有办法我们被关在墙内了。但是cnode 社区里很多好人好么,自己建了一个copy所有npm包的库,足够我们使用了。

想要使用这个库,可以用

npm config set registry http://registry.cnpmjs.org 
npm info underscore (如果上面配置正确这个命令会有字符串response

上面那条命令,设置下。

四、 Node适用的场景

long-polling,  长连接长轮询,并且无需重新打开新的线程

(PS : 那多个连接是怎么处理的,每个请求的东西都不同又是怎么切换上下文的?)

这种情况比较适合,实时动态更新,排名,微博等,在线聊天等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值