nodejs实例解析(输出hello world)


Posted in NodeJs onJanuary 03, 2017

下面将带领大家一步步学习nodejs,知道怎么使用nodejs搭建服务器,响应get/post请求,连接数据库等。

搭建服务器页面输出hello world

var http = require('http'); 
http.createServer(function (request, response) { 
 response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); 
 if(request.url!=="/favicon.ico"){ //清除第2此访问 node.js bug,第二次访问/favicon.ico
 console.log('访问'); 
 response.write('hello,world 世界'); 
 response.end();//不写则没有http协议尾
 } 
}).listen(8000); 
console.log('Server running at http://127.0.0.1:8000/'); 
/* 
启动服务 
cmd下执行: 
node 1_helloworld.js 
浏览器访问:http://localhost:8000 
*/

基本语句说明:

1)require 语句,模块通过它加载。

对于该语句的解析可参见文章《node.js require() 源码解读》(https://3water.com/article/76308.htm)

2)http.createServer(function(req, res){  }).listen(8000);

方法说明:

该函数用来创建一个HTTP服务器,并将 requestListener 作为 request 事件的监听函数。最后调用listen函数,监听端口。

接收参数:

requestListener   请求处理函数,自动添加到 request 事件,函数传递两个参数:

    req  请求对象,想知道req有哪些属性,可以查看 “http.request 属性整合”。

    res   响应对象 ,收到请求后要做出的响应。想知道res有哪些属性,可以查看 “http.response属性整合”。

3)response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'}); 

方法说明:

向请求的客户端发送响应头。

接收参数:

statusCode   HTTP状态码,如200(请求成功),404(未找到)等。

headers     类似关联数组的对象,表示响应头的每个属性

该函数在一个请求内最多只能调用一次,如果不调用,则会自动生成一个响应头。

4)response.end()

方法说明:

结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。

如何不调用该函数,客户端将永远处于等待状态。

将上面的代码复制保存到1_helloworld.js,cmd下执行语句:node  1_helloworld.js 。再去浏览器访问:http://localhost:8000 

nodejs实例解析(输出hello world)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

NodeJs 相关文章推荐
nodejs npm install全局安装和本地安装的区别
Jun 05 NodeJs
nodejs中简单实现Javascript Promise机制的实例
Dec 06 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
Nodejs初级阶段之express
Nov 23 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodeJS实现简单网页爬虫功能的实例(分享)
Jun 08 NodeJs
NodeJS爬虫实例之糗事百科
Dec 14 NodeJs
nodejs中express入门和基础知识点学习
Sep 13 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
NodeJS模块与ES6模块系统语法及注意点详解
Jan 04 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 #NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 #NodeJs
浅谈Nodejs中的作用域问题
Dec 26 #NodeJs
nodeJS删除文件方法示例
Dec 25 #NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 #NodeJs
详解Nodejs的timers模块
Dec 22 #NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 #NodeJs
You might like
php将时间差转换为字符串提示
2011/09/07 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
使用js显示当前时间示例
2014/03/02 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python PyQt5标准对话框用法示例
2017/08/23 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
pyhton列表转换为数组的实例
2018/04/04 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
健康教育评估方案
2014/05/25 职场文书
城南旧事观后感
2015/06/11 职场文书