【Node.js学习小案例】DNS域名解析 <一>

翠墨
• 阅读 4336

Node.js 百度百科:

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的
易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的
数据密集型 的实时应用。

V8引擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8
擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8`在非浏览器环境下运行得更好。

Node.js官方介绍:

Node.js® is a platform built on Chrome's JavaScript runtime for easily
building fast, scalable network applications. Node.js uses an
event-driven, non-blocking I/O model that makes it lightweight and
efficient, perfect for data-intensive real-time applications that run
across distributed devices.

我已经断断续续学习了node.js 半年多了,在这期间也穿插着phpAngularJSCSS3等其他的学习。在这些语言中,我最喜欢的就是JavaScriptphp,也很想让自己在这两个语言上有所精进。目前的我对Node.js的学习不是很懂,但一些基础的东西还算理解吧。下面我就把我看的一些资料中的案例搬过来,加入一些其他的功能,让它更像一个完整的应用。

安装Node.js:(下载地址

【Node.js学习小案例】DNS域名解析 <一>

Windows下安装NodeJS

windows下的安装很简单,直接去NodeJS官方网站下载对应版本的.msi文件即可(也有.exe文件,但是建议还是下载.msi文件安装,因为.exe文件安装之后里面缺少一些模块和npm,还需自己配置path,否则在windows的命令行里没法执行node命令)

安装之后就可以在命令行里执行:

node -v       // 查看 node.js 版本
npm -v        // 查看 npm 的版本

如果提示不是内部命令,则需要将NodeJS的安装路径添加到环境变量

Linux下安装NodeJS

Linux有很的版本,本人只在CentOS下安装过node.js参考

其他的版本请移步这里(参考

Mac下安装NodeJS

本人是个穷屌丝,没钱买Mac。没有在Mac上安装NodeJS的经验,也就不在这里写什么了。

有需要的童鞋请移步这里(参考),这里有各个系统下的安装方法。

在开始我们的小案例之前我们需要了解一下NodeJS中的模块。

模块分为两类:原生模块文件模块。原生模块即NodeJS API 提供的原生模块,原生模块在启动时已经被加载。文件模块为动态加载模块,加载文件模块的工作主要是由原生模块 module 来实现和完成。

  1. 原生模块的调用

应用NodeJS提供的API require 来加载相应的NodeJS 模块,require 成功后会返回一个NodeJS
模块的对象,该对象拥有该模块的所有属性和方法,如下:

var http = require('http');            // require http 模块
http.createServer(function(req, res) {    res.writeHead(200, {
'Content-Type': 'text/plain' });  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");         // 调用 http 对象的 createServer 和 listen

方法来创建简单的 HTTP 服务器 直接在浏览器地址栏输入http://127.0.0.1:3000 即可看到经典的“Hello World” ~_~

  1. 文件模块的调用方法:

文件模块的调用和原生模块的方法基本一致,但是需要注意的是其两者的加载方法存在一定的区别,原生模块不需要 指定模块路径,而文件模块加载时必须指定文件路径,否则会出错提示"can not find xxx module"。如下:

var obj = require('./exports.js');
var obj = require('/path/.../exports.js');

在调用文件模块时要确保文件存在,路径一定不要错了 ^_^

更多的信息请参考网址 http://nodejs.org/api/

说了这些之后我们来看看我们的小案例,我们先确定我们要做什么:

  • 在浏览器地址栏输入网址,打开一个页面
  • 在页面的输入框里输入网址,点击提交
  • 在页面中输出输入该域名对应的ip地址
    【Node.js学习小案例】DNS域名解析 <一>

下一节我们就正式开始我们的小案例。

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Alex799 Alex799
4年前
Deno 运行时入门教程:Node.js 的替代品
Deno运行时入门教程:Node.js的替代品作者:日期:这几天假期,我学习了一下。它是Node.js的替代品。有了它,将来可能就不需要Node.js了。这篇文章就是Deno的一个初步介绍,尝试回答为什么Node.js不能满足需要,以及Deno能够带给我们什么?以下内容主要基于
小嫌 小嫌
3年前
Node.js学习笔记
什么是Node.js文件?Node.js文件包含将在特定事件上执行的任务一个典型的事件是有人试图访问服务器上的端口Node.js文件必须在服务器上启动才能生效Node.js文件的扩展名为“.js”Node.js文件应当如何执行推荐使用各种类型的编译器生成一个空白的nodedemo.js文件,在文件中输入下面的内容:varhttprequi
Damumu Damumu
2年前
React 开发环境搭建
1.安装node.js(自带npm),地址:https://nodejs.org/zhcn/2.安装完成后,通过winRcmd唤起命令窗口,输入nodev和npmv查看版本号,正确显示则代表安装成功3.npminstallgcnpmregistryhtt
Stella981 Stella981
3年前
Node.js简介及如何学习Node.js
本文介绍Node.js的诞生史以及如何学习Node.js。Node.js简史从Node.js的命名上可以看到,Node.js的官方开发语言是JavaScript。之所以选择使用JavaScript,显然与JavaScript的开发人员多有关。总所周知,JavaScript是伴随着互联网的发展而火爆起来的,JavaScript也是前
Stella981 Stella981
3年前
Hexo+NexT(二):Hexo站点配置详解
!精于心简于形(https://oscimg.oschina.net/oscnet/1279fb8cfab2d287b9da4cbe97ec8020876.png)阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度。Hexo是在Node.js框架下的一个项目,利用Node.js提供
Stella981 Stella981
3年前
NodeJs在windows上安装配置测试
Node.js简介简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Node.js的包管理器npm,是全球最大的开源库生态系统。安装环境本机系统:Windo
Stella981 Stella981
3年前
Node.js 中使用 ECDSA 签名遇到的坑
文/Fenying最近有个朋友问我关于Node.js下使用ECDSA的问题,主要是使用Node.js的Crypto模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原因。坑0x00:签名输出格式在排除了证书、消息不一致的可能之后,我开始对比使用Node.js签名的结果与网络传输过来的签
Stella981 Stella981
3年前
Node.JS是什么?
百度上是这么说的:Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome‘sJavaScriptruntime,也就是说,实际上它是对GooleV8引擎进行了封装。Node.js的优点nodejs作为一个新兴的后台语言,有很多吸引人的地方:RESTfulAPI单线程Node.js可以在不新增
Stella981 Stella981
3年前
Hexo+NexT(三):Next主题配置详解
!精于心简于形(https://oscimg.oschina.net/oscnet/c14597142c4cc3d2d92de877511d3623877.png)阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度。Hexo是在Node.js框架下的一个项目,利用Node.js提供
Stella981 Stella981
3年前
Node.js 应用故障排查手册 —— 利用 CPU 分析调优吞吐量
楔子在我们想要新上线一个Node.js应用之前,尤其是技术栈切换的第一个Node.js应用,由于担心其在线上的吞吐量表现,肯定会想要进行性能压测,以便对其在当前的集群规模下能抗住多少流量有一个预估。本案例实际上正是在这样的一个场景下,我们想要上线Node.js技术栈来做前后端分离,那么刨开后端服务的响应QPS,纯使用Node.js