最近公司在弄各种大改版,每一个都是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 查看器 显示你想要查看的变量值
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 : 那多个连接是怎么处理的,每个请求的东西都不同又是怎么切换上下文的?)
这种情况比较适合,实时动态更新,排名,微博等,在线聊天等