【黑马程序员济南】node.js入门
nodejs的简介
1. node.js是一个构建在Chrome JavaScript运行环境的平台,node.js并不是一门语言,而是一个平台
2. node.js致力于使构建速度快、稳定的网络程序更简单
3. node.js具有事件驱动和非阻塞I/O的特色,使之轻量级并且高效率
4. node.js非常适合在分布式设备运行数据密集型实时应用程序
5.node.js并不是服务器端运行的Javascript,而是可以在服务器端运行JavaScript语法的平台。
node.js采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口,
比如一个数据库访问,采用事件机制,发起请求之后,立即将进程交出,当数据返回后触发事件,再继续处理数据。
在传统的阻塞I/O中其运行过程是这样的
int result=query('select * from ......');
print(result);
...................//无关语句
print方法必须等待query方法返回结果,如果数据库出现网络连接故障,那么print方法就要等到超时才能执行,然后后面一些无关语句才能一次执行,而在非阻塞I/O中是这样的
query('select
* from...',callback(data){
.............//相关语句
print();
});
..............//无关语句
属于异步请求,不影响后面事件的执行。
node.js是服务器端运行JavaScript语法的平台,JavaScript的的ajax请求异步使它很胜任这项工作
事件机制
Node.js中代码是单进程、单线程执行的,使用事件轮询机制和非阻塞I/O,在不新增额外线程的情况下对任务进行并行处理 。node.js解决了阻塞式编程浪费大量进程资源只是在等待,导致的大量内存和cpu的浪费问题,所以说自己是实时web 应用程序
如何安装
nodejs因为安装包都把npm集成了进去,所以安装比较简单,而且使用node.js的话需要有C语言的编译环境、git和python,使用window的同学很能会稍微麻烦一些
npm是什么
npm是node packaged modules的缩写,其实是一个nodejs的module的管理工具
什么是module
所谓module和java中的包的概念很类似,一些解决方案的集合,官方会提供核心的几个,第三方的很多
如何安装第三方module
因为nodejs的社区很活跃,有很多好用的第三方的包,我们可以在终端中使用npm的命令安装
npm
install [-g] :使用install指令可以把nodule下载安装的nodejs的全局的path处,不加的话会安装到当前路径
npm
remove :移除module
npm update
:更新 module
还有一些常用命令可以看看npm常用的命令行
第一个demo
这些都搞定后我们就可以写传说中的hello
world了。在任意目录建一个test.js文件
console.log('Hello,
World!');
简单的一句话就可以,然后使用node命令运行
看看官方给的demo,使用nodejs创建一个web
server有多简单
var http=require('http');//引入http module
2http.createServer(function(request,response){//创建一个web server
3 //回调函数,这样创建server方法就不会阻塞了
4 response.writeHead(200,{'contentType':'text/plain'});
5 response.end('Hello
World!\n');
6}).listen(8124);
7console.log('Server running athttp://127.0.0.1:8124/');
先运行一下服务器,按两次Ctrl+C退出
使用浏览器访问一下
就这么简单
如何学习
看到上面的demo是不是也对nodejs产生兴趣了呢,可是像我这样的懒人接触一门新语言的时候不知道该如何下手,难道又要去做个无聊的购物车神马的嘛,学习nodejs不用,nodejs为我们提供了一个小游戏一样的教程,就像个寻宝过程从零开始,没步都有一个任务和一下提示让你走的更远,上nodeschool下载然后开始寻宝吧
网友评论