Node.js学习笔记(一)

title: "Node.js学习笔记(一)"
date: 2016-03-18 21:07:24
tags: Node.js


概述

Node.js 是一种建立在Google Chrome’s v8 engine上的 non-blocking (非阻塞), event-driven (基于事件的) I/O平台.

以事件驱动为核心,单线程,单进程。Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计。对于高并发的解决方案,传统的架构是多线程模型,也就是为每个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式 I/O 调用时的时间开销。Node.js 使用的是单线程模型,对于所有 I/O 都采用异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。事件驱动机制是Node.js通过内部单线程高效率地维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求,Node.js凭借事件驱动搞定一切。因为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求。可以通过运行多个Node.js进程的方式来有效利用多个CPU。

服务端JavaScript

其实个人学习JavaScript算的很早之前了,但是因为之前工作的关系,一直使用的是Java后端的开发,真正用在工作之中,是在2013年了。Java感觉是规规矩矩,JavaScript却感觉是灵活与锋利。

一次偶然的机会才接触到Node.js,感觉打开了一扇新的大门,原来JavaScript也能这么后端
从此之后,开发人员只用JavaScript就能编写整个Web应用,无需进行前后端语言的切换,以及各种跨语言的适配等等。

安装

Node.js的安装可以在官网获取安装,根据自己的系统选择相应的版本下载。

NPM

npm(Node Package Manager),是一个NodeJS包管理和分发的工具,已经成为了非官方的发布Node模块(包)的标准。
现在在官网下载安装NodeJS,一般已默认同时安装npm,可以通过npm --versionnpm -v命令查看版本号。
之后就可以通过npm install xxx进行模块安装了,比如我们可以下载express这个web开发框架。

$ npm install express --save

另外,淘宝对npm镜像同步了几乎所有的模块,以便国内开发者在安装模块时进行加速。可以通过以下命令进行安装。

$npm install -g cnpm --registery=https://registry.npm.taobao.org

Hello World!

NodeJS可以很快速简单的创建Http服务器,相比Apache HTTP服务器来说,要简单不少,它既能作为HTTP服务器,同时又能处理很多不同的逻辑。
Hello World入门来认识一下NodeJS,创建app.js文件,写入一下代码:

//请求http模块
var http = require("http");
//创建HTTP服务器
http.createServer(function(request, response) {
  //写入头信息
  response.writeHead(200, {"Content-Type": "text/plain"});
  //打印Hello World
  response.write("Hello World");
  response.end();
}).listen(3000); //监听3000端口(nodejs服务器默认端口)

保存,进入该文件所在目录,在命令终端输入:

node app.js

打开浏览器,访问地址http://localhost:3000会看到页面中Hello World的结果。

转载于:https://www.cnblogs.com/ywarm/p/5340906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值