01如何使用nodejs快速搭建web服务器
啰嗦一下:
要学习nodeJS最好能懂一点后端语言,或者,对web开发有了解。
导航:
- nodeJS的介绍(与传统的后端语言简单对比)
- 开发环境如何搭建
- 第一个nodeJS写的简单网页
内容:
一、nodeJS的介绍(与传统的后端编程语言进行对比)
1、常见的后端语言:jsp,php,asp等。
jsp是java语言做web开发的技术。是Java Server Page的缩写
php作为一门语言,语法上混合了 C、Java、Perl 以及 PHP 自创新的语法。最早是Personal
Home Page的缩写,后来改为Hypertext Preprocessor
asp是微软的一门web技术,使用的是VB的语法,是Active
Server Pages的缩写。后来发展为aspx(即asp.net,使用C#语言)
2、web程序(B/S)运行的过程(也是用户上网时,计算机是怎么样的运行过程)
当用户在浏览器中输入网址(地址)时,
1)、浏览器会发会发送请求,通过域名解析服务器(如果是域名而不是ip地址时),把网址解析成ip地址,根据ip地址找到对应的服务器,
2)、服务器端软件(如:iis,apache,tomcat等)在服务器指定的文件夹下,找到对应的文件(如果不是静态资源(如:html,图片等等),而是服务器语言编写的代码,就需要在服务器端进行编译)
3)、服务器端软件(如:iis,apache,tomcat等)把文件发送到客户端计算机
4)、客户端计算机的浏览器渲染(打开)网页,显示在用户眼前。
如下图所示:
3、nodeJS是什么(当然需要完全了解,还需要进一步的努力学习)
nodeJS是JavaScript语言做后端(服务器端)开发的环境和平台,即JavaScript语言做web开发的技术。NodeJS不但自己可以完成服务器软件的功能,也不再需要php,asp,jsp等传统的服务器语言,JavaScript就可以搞定。
nodeJS就是让JavaScript代码可以实现服务器端的功能,相当于php,jsp,asp。打破了JS只能做前端的局限。
nodeJS是一个基于Chrome V8引擎的JavaScript运行环境。nodeJS使用了事件驱动,非阻塞式的I/O模型,使其轻量又高效
如下图所示:
二、开发环境如何搭建
1、安装:
进入nodejs官网:http://nodejs.cn/download/,下载最新版本的nodeJS,如:node-v8.9.3-x64.msi。安装时,没有特殊的,只需要全
部下一步即可。
2、测试:
1)、新建hello.js文件,代码如下:
console.log("原生JS的代码在node下可以直接执行");
2)、进入cmd(命令行),输入 node hello.js或者node hello
console.log("原生JS的代码在node下可以直接执行");
2)、进入cmd(命令行),输入 node hello.js或者node hello
3、用nodeJS搭建一个服务器软件(相当于asp的iis,php的apache,jsp的tomcat)
1)、创建server.js文件
2)、输入以下代码:
const http = require('http');//引入http包
const hostname ='127.0.0.1';//服务器地址const port = 706;//服务器的端口号const server = http.createServer((request,response)=>{//使用http来创建服务器,response.statusCode=200;response.setHeader('Content-Type','text/plain');response.end('hello nodeJS\n');});
server.listen(port,hostname,()=>{//服务器监听console.log(`Server running at http://${hostname}:${port}/`);//这个单引号要注意,是数字键1左边的那个键});
3)、启动服务器:在命令行窗口输入命令:node server.js4)、测试服务器是否能用在浏览器输入:http://localhost:706/
三、第一个nodeJS写的简单网页
1)、新建server.js写上如下代码const http = require('http');//引入http包
const hostname ='127.0.0.1';//服务器地址
const port = 706;//服务器的端口号
const server = http.createServer((request,response)=>{//使用http来创建服务器,
response.statusCode=200;if(request.url!=='/favicon.ico'){//如果没有这句话,下面的代码会执行两次,因为,在访问网址时,默认会请求“/favicon.ico”,所以,看似请求了一次,其实是请求了两次
console.log('这是打印在客户端的');response.setHeader('Content-Type','text/html;charset=utf-8');response.write('<h1>这是nodeJS的服务器端代码</h1>');response.write('<table border="1"><tr><td>第一行第一列</td><td>第一行第二列</td></tr></table>');response.end();
}
});
server.listen(port,hostname,()=>{
console.log(`Server running at http://${hostname}:${port}/`);
});2)、启动服务器:
在命令行窗口输入命令:node server.js
3)、在浏览器输入 http://localhost:706/