Node.js基础知识

Node.js入门

 

Node.js

    Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始。比较独特的是,Node.js会假设在POSIX环境下运行Linux 或 Mac OS X。如果是在Windows下,那就需要安装MinGW以获得一个仿POSIX的环境。在Node中,Http是首要的。Node为创建http服务器作了优化,所以在网上看到的大部分示例和库都是集中在web上(http框架、模板库等)。
 

Node.js不是JS应用,而是JS运行平台

    看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。
    为什么采用C++语言呢?据Node.js创始人Ryan Dahl回忆,他最初希望采用Ruby来写Node.js,但是后来发现Ruby虚拟机的性能不能满足他的要求,后来他尝试采用V8引擎,所以选择了C++语言。
 

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

    Node.js的设计思想中以事件驱动为核心,它提供的绝大多数API都是基于事件的、异步的风格。重要的优势在于,充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。
 

Node.js的特点

    Node.js 在设计上也是比较大胆,它 以单进程、单线程模式运行(很吃惊,对吧?这和Javascript 的运行方式一致),事件驱动机制是Node.js 通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http 请求,Node.js 凭借事件驱动搞定一切,习惯了传统语言的网络服务开发人员可能对多线程并发和协作非常熟悉,但是面对Node.js,我们需要接受和理解它的特点。
    Node.js的另一个特点是它支持的编程语言是Javascript。Javascript作为前端工程师的主力语言,在技术社区中有相当的号召力;Javascript的匿名函数和闭包特性非常适合事件驱动、异步编程;Javascript在动态语言中性能较好,再加上V8引擎也是同类的佼佼者,所以Node.js的性能也受益其中。
 
Hello World

  马上开始我们第一个Node.js应用:“Hello World”。打开你的编辑器,创建一个hello.js文件。编写代码保存该文件,并通过Node.js来执行。

  • 控制台输出
1 console.log('hello, nodejs.') ; 

  • Web输出
1 var http = require("http"); 

2 http.createServer(function(request, response) { 

3     response.writeHead(200, {"Content-Type": "text/html"}); 

4     response.write("Hello World!"); 

5     response.end(); 

6 }).listen(8000); 
  打开浏览器地址栏输入http://localhost:8000/,可以在网页上看到输出结果。
 
 
 
分类:  Node.js
标签:  Node.js

你可能感兴趣的:(node.js)