NodeJs快速使用(一)、安装以及Http、Url模块使用

1、NodeJs安装

可以直接访问NodeJs的网站下载最新的安装包,直接进行安装。

NodeJs官方网站: https://nodejs.org/en/
NodeJs中文网站: http://nodejs.cn/

在这里插入图片描述
这边包含了最新版本和稳定版,自行选择安装即可。

安装完成之后,输入命令

> node -v

或者

> npm -v

查看命令是否可用。如果正常输出版本,即表明安装没有问题。

2、npm和node常用命令

npm 常用命令

> # 输出npm当前版本
> npm -v
> # 升级当前的npm
> npm install -g npm
> # 安装局部模块
> npm install
> # 安装全局模块
> npm install -g xxx
> # 执行脚本命令
> npm run xxx
> # 查看当前所有命令信息
> npm -l
> ...

node 常用命令

> # 执行js文件
> node xxx.js

3、Nodejs中http模块

开发推荐直接使用VSCode进行开发。推荐安装插件模块node-snippets
在这里插入图片描述
这里直接创建一个js文件。输入node之后,会自动提示http-http-server,选中回车之后,即可出现如下的快速创建的http请求代码。😄,默认是没有提供注释了,为了理解方便,我这里加入了注释。
在这里插入图片描述

//引入http模块
var http = require('http');
/**
 * request:  服务器请求获取信息,从这里可以获取到从用户端输入的参数等信息
 * response: 服务器响应信息,这里可以设置回传给用户的信息
 */
http.createServer(function (request, response) {
  /**
   * 设置请求头信息
   * code(statusCode): 200
   * headers信息: Content-Type
   */ 
  response.writeHead(200, {'Content-Type': 'text/plain;charset=utf8'});
   //设置回传信息
  response.write('Hello World');
  //告诉用户端请求结束
  response.end();
})
//请求监听端口8081
.listen(8081);

console.log('Server running at http://127.0.0.1:8081/');

运行代码

> node .\nodejs_http.js

运行之后,可以看到日志输出

Server running at http://127.0.0.1:8081/

直接浏览器访问,即可看到输出
在这里插入图片描述
上面只是一个很最简单的请求返回,真实使用中,肯定是要有参数传递,然后返回的。下面看一下如何传递参数和接收参数。

还是上面的例子,最简单直接get请求,参数拼接上去一个?username=zhangsan&age=22

http://127.0.0.1:8081/?username=zhangsan&age=22

前面有说过,request参数是用来获取从用户端获取参数的,我们先打印看一下。

console.log(request.url)
//日志输出
/?username=zhangsan&age=21

可以看到请求参数都正常的输出出来了。下面就是要解析拿到参数,参数解析需要用户另一个模块了url

4、nodejs的url模块

首先引入url模块

//直接放置在上面引入http模块下面即可
var url = require('url');

刚才打印request.url的下面加入一行,输出一下url.parse

console.log(url.parse(request.url, true))  //这里为true,表示将parseQueryString=true,
//将querystring解析成对象。

下面看一下打印信息,重点关注querystring即可 。

Url {
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: '?username=zhangsan&age=21',
  //***重点关心这里
  query: [Object: null prototype] { username: 'zhangsan', age: '21' },
  pathname: '/',
  path: '/?username=zhangsan&age=21',
  href: '/?username=zhangsan&age=21'
}

我们再次将文件做一个修改,这次将接收到的usernameagerequest中解析出来,并且以json的形式返回给用户端,目前设计都是前后端分离的开发方式,所以直接返回一个接口形式比较常见,我们这里模拟返回接口形式。

 //因为正常请求会请求两次,一次是正常请求,一次是favicon.icon,所以这里过滤掉
 if(request.url != '/favicon.ico'){
     //使用url.parse解析出来请求的querystring,设置为true,
     //表示将querystring直接转换为json对象
     let queryUrl = url.parse(request.url, true).query
     //这里构造出来一个json返回值
     let responseResult = {
         code: 0,
         message: '请求成功',
         data: {
             username: queryUrl.username,
             age: queryUrl.age
         }
     }
     //设置回传信息,这里将结果以json的形式返回到用户端
     response.write(JSON.stringify(responseResult));
 }

再次刷新浏览器,看一下浏览器输出
在这里插入图片描述
至此,一个简单的请求,并返回数据操作完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值