您的位置:首页 > Web前端 > Node.js

nodejs learn

2016-03-19 18:53 393 查看
nodejs 是什么,

是一个简单易学的网络编程语言。

1. 它有一个好用的控制台计算器, 专业名词叫repl (request-eval-print-loop)

它不仅仅是一个计算器,它还可以使用变量,进行交互式编程。

给变量赋值,变量计算。

这都是小儿科,显然node 还有更强的功能。

2. 它是javascript 语言,运行在服务器端。

网上说它运行速度快,单线程,事件循环,异步等优点,chrome血统,咱不用关心,

那关心什么呢? 关心它的应用, 它能够构造网络服务器。

编写网络服务器代码,需要处理不少事情,而作为一门语言,也有许多特性,一边编写

着服务器的代码,一边学习着语言,这可能是一个捷径,有人这么做了,写了一个

<<nodejs 入门>>的书,我迫不及待的看了。

为什么用node 编写服务器代码特别少,因为它包含了(require) http 模块,站的位置高,那些创建socket,

send, recv等操作都给封装起来了,看不见了,你只需要关心,request, response 就行了。

3. 一门语言,有它自己的语法,自己的对象,自己的api, 还要有扩展能力,等等要素

才能构成一门语言,就是人跟计算机打交道的一种方式。一种对话规则。

此外,编完的程序,还要调试,保证功能的正常运行。当然nodejs 都做到了。先用

node-inspector 调试了。 控制台内嵌debuger, 这个也能调,但是太土了。为什么?

看不见代码,看不调用栈。 是的是的,控制台也能敲出来,或着你令切换到代码页面。

但它毕竟不方便啊, 有inspector 图形调试,鸟枪换炮了,谁肯不换。

4. ubuntu 默认安装的node 版本太低v0.10,纵使添加ppa 源,版本还是低,低了有什么不好呢?

chrome 浏览器说版本低显示信息会不完整,必需升到0.11 我必需要升到高版本了。

从网上下载了一个0.12 的二进制包, 删除apt 安装的包, 把二进制包解压并直接copy 到/usr/local/bin 下,就可以使用了。

回头到官网上看了一样,node 版本已经窜到v5.x了,发展也太快了,不过0.12能用,就先不折腾了。先用着。

5. node-inspect 调试方法:

举例:

1. node --debug demo.js

2. node-inspector &

3. chrome 浏览器中打开 http://127.0.0.1:8080/?port=5858
就可以在图形界面调试了

从node-inspector 中看见了_http_server.js 的代码, 可是到处找不到这个文件在哪, 也不知道require("http") 到底require 什么,

一查, 原来http 模块叫核心模块或内置模块,是编译在node二进制中的,加载到内存后有缓冲机制,二次加载没有开销,哦,原来是这样。

我们自己编写的模块为文件模块或第三方模块,是以文件形式存在的。你可以指定路径加载(相对或绝对路径),

不指定路径,从 本地node_modules中加载,直至搜索到/下的node_modules.

欲知内置模块有哪些,http, https, global, fs, util events,erros, console,process.... 还是查看官方文档吧。
https://nodejs.org/api/index.html
inspector 能够显示对象的属性和方法,好的模块直接封装成对象, require 返回一个对象,是个书写代码的好习惯。面向对象。

nodejs, 擅长控制台计算器, web服务器编程,还擅长什么呢? 这要看它的module了,那么多优秀的人才在为它贡献



1,1 Top
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: