大家好,本人最近初涉node.js,这里分享该内容的入门体验,这里的内容超级超级基础。希望小白能一起来学习,相互探讨一下。
这里引用一下<<node.js入门》里关于服务器端JavaScript的相关知识:
JavaScript最早是运行在浏览器中,然而浏览器只是提供了一个上下文,它定义了使用JavaScript可以做什么,但并没有“说”太多关于JavaScript语言本身可以做什么。事实上,JavaScript是一门“完整”的语言: 它可以使用在不同的上下文中,其能力与其他同类语言相比有过之而无不及。
Node.js事实上就是另外一种上下文,它允许在后端(脱离浏览器环境)运行JavaScript代码。
要实现在后台运行JavaScript代码,代码需要先被解释然后正确的执行。Node.js的原理正是如此,它使用了Google的V8虚拟机(Google的Chrome浏览器使用的JavaScript执行环境),来解释和执行JavaScript代码。
除此之外,伴随着Node.js的还有许多有用的模块,它们可以简化很多重复的劳作,比如向终端输出字符串。
因此,Node.js事实上既是一个运行时环境,同时又是一个库。
上了这么多课的小伙伴们应该都知道,期末考试要挑重点啊。
其实这里主要讲到实现node.js应该怎么做,就是要将代码解释成能在后台运行的相关代码,然后正确执行,这里使用了Google的V8虚拟机来解释和执行JavaScript代码。JavaScript前后端通吃啊,所以小伙伴们赶紧来学习JavaScript这门编程语言啊。
要使用node.js,首先要安装相应的环境,直接进官网:https://nodejs.org/zh-cn
废话少说,我们先来一个简单的实例
首先呢,新建一个index.js文件,我们写一个非常简单的 Hello World 程序:
console.log('Hello, World');
保存,这里我们在控制台执行:
node index.js
输出结果:
这里Hello, World在控制台输出了。接下来是http基础。
一个基础的HTTP服务器
话不多说,上代码,新建一个server.js文件:
var http = require('http');
http.createServer(function(request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('Hello, World');
response.end();
}).listen(3000);
保存,在控制台执行:
node server.js
然后在chrome地址栏输入:
localhost:3000
我们可以看到在浏览器中依然会出现可爱的Hello, World
是不是觉得很神奇
上面说过,node.js既是一个运行时环境,同时又是一个库。
这里的代码首先就是引入了一个node.js自带的http模块,并赋值给http变量。这里呢,使用http调用createServer来创建一个服务器,resquest,response这两个参数分别表示请求和响应。
所以我们的代码是:当收到请求时,使用 response.writeHead() 函数发送一个HTTP状态200和HTTP头的内容类型(content-type),使用 response.write() 函数在HTTP相应主体中发送文本“Hello World"。
最后,我们调用 response.end() 完成响应。
有的人可能对这样的代码有点疑问。我们可以写成这样:
var http = require('http');
function onRequest(request, response) {
console.log('Request received.');
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write('Hello, World');
response.end();
}
var server = http.createServer(onRequest);
server.listen(3000);
console.log('Server has started.');
这里在控制台执行
node server.js
首先会输出Server has started.表示服务器已开始;然后在地址栏输入:
localhost:3000
控制台会输出Request received.表示请求已被接受,接着是浏览器响应需要执行的相关操作,同上。整体代码应该更容易明白,http.createServer(onRequest),创建一个server服务器,
然后使用server.listen(3000)监听3000端口。这样可以本地访问localhost:3000。
后续再更新......
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。