资讯专栏INFORMATION COLUMN

node.js初体验

CoorChice / 603人阅读

摘要:大家好,本人最近初涉这里分享该内容的入门体验,这里的内容超级超级基础。事实上就是另外一种上下文,它允许在后端脱离浏览器环境运行代码。因此,事实上既是一个运行时环境,同时又是一个库。最后,我们调用完成响应。

大家好,本人最近初涉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。

后续再更新......

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82201.html

相关文章

  • node.js体验之利用node.js的fs-文件系统,来写一个批量修改文件名的小工具

    摘要:导语公司最近业务不忙,利用闲暇时间准备学习一下,看见网上前端大牛张旭鑫的文章一般般的网页重构可以使用做些什么,跟着写了一下批量修改文件名的小工具,主要利用的中相关方法来实现记录一下,以备后用。 导语:公司最近业务不忙,利用闲暇时间准备学习一下Node.js,看见网上前端大牛张旭鑫的文章JS一般般的网页重构可以使用Node.js做些什么?,跟着写了一下批量修改文件名的javascript...

    Steve_Wang_ 评论0 收藏0
  • [一] Ruff之体验

    摘要:实现项目的配置初始化,这个有些像我们在写模块的时候初始化配置,其实这里也是在初始化项目配置。 引言 首先简单说一下Ruff,Ruff是一个JavaScript运行时,专门为开发硬件而设计,其底层实现是基于Node.js,让我们可以使用JavaScript语言去实现自己想要的硬件功能设计,下面就是从零开始接触和学习使用Ruff showImg(https://segmentfault.c...

    Youngdze 评论0 收藏0
  • 适合学者的koa2+mongodb体验

    摘要:前言笔者的前端开发已经有些时日了,对于一直保留着最初的恐惧,倘若一座不可跨越的高山,思前想后终于迈出最后一步,踏入了开拓自己视野的新视界,希望在看这篇文章的你可以一起跟我动手尝试。面向的下一代框架。由团队打造,特点优雅简洁灵活体积小。 showImg(https://segmentfault.com/img/bVbuorM?w=1514&h=568); 前言      笔者的前端开发已...

    Jacendfeng 评论0 收藏0
  • 新手的node爬虫体验

    摘要:后来在爬取不到让我一度怀疑人生的时候巧合下,发现磁力链接有小写字母,有长度的,有长度的。。 原文博客: 羞羞的node爬虫 前言 学了一阵子node,除了用 express 写东西,就没怎么做过东西突然就想写个 爬虫 来玩一玩,而且还是爬一些羞羞的东西 使用模块 SuperAgent 是个 http 方面的库,可以发起 get 或 post 请求。 cheerio 大家可以理解成一个 ...

    wemallshop 评论0 收藏0
  • 新手的node爬虫体验

    摘要:后来在爬取不到让我一度怀疑人生的时候巧合下,发现磁力链接有小写字母,有长度的,有长度的。。 原文博客: 羞羞的node爬虫 前言 学了一阵子node,除了用 express 写东西,就没怎么做过东西突然就想写个 爬虫 来玩一玩,而且还是爬一些羞羞的东西 使用模块 SuperAgent 是个 http 方面的库,可以发起 get 或 post 请求。 cheerio 大家可以理解成一个 ...

    cocopeak 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<