首页 » 后端 » 正文

如果不知道node是神马东东

1.Node 是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅。

2.Node 的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个物理机的连接代码。处理高并发和异步I/O是Node受到开发人员的关注的原因之一。

3.Node 本身运行Google V8 JavaScript引擎,所以速度和性能非常好,看chrome就知道,而且Node对其封装的同时还改进了其处理二进制数据的能力。因此,Node不仅仅简单的使用了V8,还对其进行了优化,使其在各种环境下更加给力。(什么是V8 JavaScript 引擎?请“百度知道”)

4.第三方的扩展和模块在Node的使用中起到重要的作用。下面也会介绍下载npm,npm就是模块的管理工具,用它安装各种 Node 的软件包(如express,redis等)并发布自己为Node写的软件包 。

看了好几个教程,提到了好多概念性东西,什么单进程、单线程、事件驱动、模块加载,着实有点晕。

Node.js的模块分为两类,一类为原生(核心)模块,一类为文件模块。原生模块在Node.js源代码编译的时候编译进了二进制执行文件,加载的速度最快。另一类文件模块是动态加载的,加载速度比原生模块慢。但是Node.js对原生模块和文件模块都进行了缓存,于是在第二次require时,是不会有重复开销的。其中原生模块都被定义在lib这个目录下面,文件模块则不定性。

事件驱动机制是Node.js通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求,Node.js凭借事件驱动搞定一切,习惯了传统语言的网络服务开发人员可能对多线程并发和协作非常熟悉,但是面对Node.js,我们需要接受和理解它的特点。

单进程和单线程就是为了高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,满足事件驱动的机制。当然即便是单线程,异步回调,IO非阻塞,node支持开启多进程模式,刚开始,就先不管了。

按照惯例就先出来一个例子,至少是一个“hello world”。刚开始我确实不知道它想要怎么输出,后来……呵呵

首先在自己web目录下建立一个比如名为server.js的文件,为了让你的localhost能够访问到。有图才有真相的说: node 这样你就能看到我的浏览器、web目录、js文件、终端之间的关系了吧。尽管你会好奇,目录下只有一个文件,但是在浏览器中只是输出了一个“hello world”。呵呵,程序里面不是有这样一句么:response.end(‘Hello World\n’);

开始一直不造该怎么运行node,我就弄个说明:酱紫酱紫,然后写js,然后node出来给它,好吧,你已经可以开始正式学习node了 (*^__^*) ……

发表评论