一步步教你使用node搭建一个小页面

 更新时间:2022年11月30日 15:55:44   作者:Yuki_  
最近使用NodeJs搭建的小型web应用,所以下面这篇文章主要给大家介绍了关于使用node搭建一个小页面的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

介绍

这个小demo是Node.js, Express, MongoDB & More: The Complete Bootcamp系列课程的第一个demo,本篇文章主要介绍实现过程以及可能带来的思考。

完成展示

首页

详情页面

前置知识

首先我们需要了解一些知识,以便完成这个demo

fs

首先是node对文件的操作,也就是fs模块。本文只介绍一些简单的操作,大部分是例子中需要用到的方法。想要了解更多可以去API文档去查找。

首先引入fs模块:const fs = require("fs");

readFileSync

const textIn = fs.readFileSync("./txt/append.txt", "utf-8");

上面代码展示的是readFileSync的使用,两个参数中,第一个参数是要读取文件的位置,第二个参数是编码格式encoding。如果指定encoding返回一个字符串,否则返回一个Buffer

writeFileSync

fs.writeFileSync("./txt/output.txt", textOut);

writeFileSync毫无疑问是写文件,第一个参数为写文件的地址,第二个参数是写入的内容。

readFile、writeFile

上面的两个API都是同步的读写操作。但是nodeJs作为一个单线程的语言,在很多时候,使用同步的操作会造成不必要的拥堵。例如等待用户输入这类I/O操作,就会浪费很多时间。所以 js中有异步的方式解决这类问题,nodejs也一样。通过回调的方式来解决。

fs.readFile("./txt/append.txt", "utf-8", (err, data) => {
  fs.writeFile("./txt/final.txt", `${data}`, (err) => {
    console.log("ok");
  });
});

http

createServer

http.createServer(requestListener);

http.createServer() 方法创建一个HTTP Server 对象,参数requestListener为每次服务器收到请求时要执行的函数。

server.listen(8001, "127.0.0.1", () => {
  console.log("Listening to requests on port 8001");
});

上面表代码表示监听8001端口。

url

url.parse

这个模块可以很好的处理URL信息。比如当我们请求http://127.0.0.1:8001/product?id=0的时候通过url.parse可以获取到很多信息。如下图:

实现过程

对于已经给出的完成页面,我们可以看到在切换页面时URL的变化,所以我们需要得到用户请求时的 URL地址,并根据地址展示不同的页面。所以我们通过path模块得到pathname,进行处理。

对于不同的请求,我们返回不同的界面。首先对于Overview page界面,由于它的类型是 html界面,所以我们通过writeHead将它的Content-type设置为text/html

res.writeHead(200, {
      "Content-type": "text/html",
});

其他的几个返回html的页面也是同样的处理。由于前端界面已经给出,我们只需要读取JSON里面的数据,并将模板字符串替换即可。最后我们通过res.end(output)返回替换后的页面。

总结

通过这一个小页面的练习,可以学习到node对文件的操作以及HTTP模块的操作。并对后端有了初步的认识。

到此这篇关于使用node搭建一个小页面的文章就介绍到这了,更多相关node搭建小页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows下更新npm和node的方法

    windows下更新npm和node的方法

    本篇文章主要介绍了windows下更新npm和node的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 深入探究node之Transform

    深入探究node之Transform

    这篇文章主要介绍了深入探究node之Transform,本文深入内部阐述Transform的运行机理及使用技巧,有兴趣的可以了解一下
    2017-07-07
  • 简单谈谈node.js 版本控制 nvm和 n

    简单谈谈node.js 版本控制 nvm和 n

    大量开发者的贡献使Node版本的迭代速度很快,版本很多(横跨0.6到0.11),所以升级Node版本就成为了一个问题。目前有n和nvm这两个工具可以对Node进行无痛升级,本文简单介绍一下二者的使用。
    2015-10-10
  • node.js如何自定义实现一个EventEmitter

    node.js如何自定义实现一个EventEmitter

    我们了解到,Node采用了事件驱动机制,而EventEmitter就是Node实现事件驱动的基础,本文主要介绍了node.js自定义实现EventEmitter,感兴趣的可以了解一下
    2021-07-07
  • 详解node登录接口之密码错误限制次数(含代码)

    详解node登录接口之密码错误限制次数(含代码)

    这篇文章主要介绍了nodejs登录接口之密码错误限制次数(含代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Node.js中npx命令的使用方法及场景分析

    Node.js中npx命令的使用方法及场景分析

    NPM(Node Package Manager) 是Node.js提供的一个包管理器, 可以使用 NPM 来安装 node.js 包 ,npm 是从5.2版开始, 增加(自带)了 npx 命令,本文给大家分享Node.js npx命令使用,需要的朋友一起看看吧
    2021-08-08
  • node+experss实现爬取电影天堂爬虫

    node+experss实现爬取电影天堂爬虫

    本文给大家分享的是node+experss制作爬虫的第二篇,我们来爬取电影天堂最新更新的电影迅雷下载链接,有需要的小伙伴可以参考下
    2016-11-11
  • express中static中间件的具体使用方法

    express中static中间件的具体使用方法

    这篇文章主要介绍了express中static中间件的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • NodeJS和浏览器中this关键字的不同之处

    NodeJS和浏览器中this关键字的不同之处

    这篇文章主要给大家介绍了关于NodeJS和浏览器中this关键字不同的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 使用node打造自己的命令行工具方法教程

    使用node打造自己的命令行工具方法教程

    这篇文章主要介绍了使用node打造自己的命令行工具方法教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论