博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS学习专辑外传(1)
阅读量:6148 次
发布时间:2019-06-21

本文共 1722 字,大约阅读时间需要 5 分钟。

之前看了Js的一些基础的东西,正好看到了Node.js,所以入个门先,至于高端的东西等以后再学,毕竟基础还不够。

因为装过了Node,所以直接可以用了,没装的童鞋可以看。然后一个网页需要一个web页面吧,所以要HTTP的服务器吧,可以直接创建一个最简单的http服务器(貌似所有的初学者都看的是这个例子嘛= =):

var http = require('http');http.createServer(function(req, res) {res.writeHead(200, {
'Content-Type': 'text/html'});res.write('Node.js');res.end('Hello World');}).listen(3000);
View Code

上面例子中用到了var http = require('http'),其中http是 Node.js 的一个核心模块。我们通过require 函数获取了这个模块,然后才能使用其中的对象。然后用到了里面的createServer函数,返回一个对象,这个对象有listen的方法,方法里的参数就是http服务器的端口号。看一下函数里面的东西,当收到请求时,使用 res.writeHead() 函数发送一个HTTP状态200和HTTP头的内容类型(content-type),使用 res.write() 函数在HTTP相应主体中发送文本“Hello World"。 最后,我们调用 res.end() 完成响应。

Node.js最大的特点是异步式I/O与事件紧密结合的编程模式。具体的那些概念撒的就不说了~比较重要的是事件驱动的回调,首先来看下例子:

var fs=require("fs");fs.readFile("app.js","utf-8",function(err,data){    if(err){        console.log(err);    }    else{        console.log(data);    //app.js中是"abc"    }});console.log("jk");结果:jkabc
View Code

在上面的例子中fs.readFile中有三个参数,第一个是文件名,第二个是编码方式,第三个是一个函数,这个函数就是回调函数,fs.readFile 调用时所做的工作只是将异步式 I/O 请求发送给了操作系统,然后立即返回并执行后面的语句,执行完以后进入事件循环监听事件。当 fs 接收到 I/O 请求完成的事件时,事件循环会主动调用回调函数以完成后续工作。因此我们会先看到 end,再看到文件中的内容。

Node.js在开发过程中,不可能只有一个文件的,通常需要把各个功能通过拆分、封装、然后组合起来,模块(Module)和包(Package)就是这个的重要支柱。Node.js 提供了 require 函数来调用其他模块。举个例子:

//module.jsfunction Hello(){    this.sayHello=function(){        console.log("Hello World");    }}module.exports=Hello;
View Code
//gethello.jsvar hello=require("./module");hello=new hello();hello.sayHello();    //输出Hello World
View Code

如上面的例子创建了一个module.js的文件,在Module中通过module.exports可以导出,然后在另一个js中通过 require('./module') 加载这个模块,然后就可以直接访问 module.js 中 exports 对象的成员函数了。

想再深入了解的话可以看下面PDF学习继续深入的学习一下:

&&

转载于:https://www.cnblogs.com/socialdk/archive/2013/05/15/3078173.html

你可能感兴趣的文章
android 安全讲座第四层 手机Root授权原理细节全解析(3)
查看>>
N5-用两个栈来实现一个队列
查看>>
extman后台登陆问题No such file or directory
查看>>
在Linux下安装邮件服务器Qmail(一)
查看>>
正则表达式--口诀
查看>>
Mysql的转义字符
查看>>
让软件适用于域环境
查看>>
windows 上搭建laravel框架
查看>>
Android dp、dpi、px
查看>>
华为路由AR1220拨号问题求各位大侠解决
查看>>
JSP页面获取集合的长度
查看>>
Zabbix 使用nginx做web服务
查看>>
开发文档的编写(1)
查看>>
try--catch--finally中return返回值执行的顺序(区别)
查看>>
【转】聚集索引和非聚集索引的区别
查看>>
【转】名企HR教你如何过网申
查看>>
【C#】性能计数器
查看>>
cifs协议端口
查看>>
开始学习php了
查看>>
我的友情链接
查看>>