返回介绍

二、HTTP 模块、URL 模块 supervisor 工具

发布于 2024-06-12 23:28:34 字数 3051 浏览 0 评论 0 收藏 0

Node.js 时,我们不仅仅在实现一个应用,同时还实现了整个 HTTP 服务器

2.1 创建一个简单的程序

var http = require('http');

http.createServer(function(request, response) {
  // 发送 HTTP 头部
  // HTTP 状态值: 200 : OK
  //设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf8 response.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"});
  // 发送响应数据 "Hello World"
  res.end("哈哈哈哈,我买了一个 iPhone" + (1 + 2 + 3) + "s");
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

你会发现,我们本地写一个 js ,打死都不能直接拖入浏览器运行,但是有了 node ,我 们任何一个 js 文件,都可以通过 node 来运行。也就是说, node 就是一个 js 的执行环境

2.2 HTTP 模块、URL 模块

Node.js 中,将很多的功能,划分为了一个个 module (模块)。 Node.js 中的很多功能都 是通过模块实现

2.2.1、HTTP 模块的使用

//引用模块
var http = require("http");
//创建一个服务器,回调函数表示接收到请求之后做的事情
var server = http.createServer(function(req, res) { //req 参数表示请求,res 表示响应
  console.log("服务器接收到了请求" + req.url);
  res.end(); // End 方法使 Web 服务器停止处理脚本并返回当前结果
});
//监听端口
server.listen(3000, "127.0.0.1");

设置一个响应头

res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});

  • 我们现在来看一下 req 里面能够使用的东西
  • 最关键的就是 req.url 属性,表示用户的请求 URL 地址。所有的路由设计,都是通过 req.url 来实现的。
  • 我们比较关心的不是拿到 URL ,而是识别这个 URL
  • 识别 URL ,用到了下面的 URL 模块

2.2.2、URL 模块的使用

  • url.parse() 解析 URL
  • url.format(urlObject) 是上面 url.parse() 操作的逆向操作
  • url.resolve(from, to) 添加或者替换地址

1. url.parse()

2. url.format()

3. url.resolve()

2.3 Nodejs 自启动工具 supervisor

supervisor 会不停的 watch 你应用下面的所有文件,发现有文件被修改,就重新载入程序文件这样就实现了部署,修改了程序文件后马上就能看到变更后的结果。麻麻再也不用担心我的重启 nodejs

首先安装 supervisor

npm install -g supervisor

使用 supervisor 代替 node 命令启动应用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文