宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > 一个后端架构

一个后端架构

2021-08-16

const http = require('http');
http.createServer((request, response) => {
    // 请求的入口
}).listen(8080);
复制代码

关于如何使用和对象来完成一个请求响应,大部分教程中都有提到。也可以查看Node的中文文档。这里就不详细介绍了。

处理静态文件

这里我们使用-,使用npm安装这个模块,在项目根目录下创建一个文件夹并放一些静态页面,创建一个.js文件:

const http = require('http');
const serveStatic = require('serve-static');
const publicPath = 'public';
const staticHandler = serveStatic(publicPath);
http.createServer((request, response) => {
    staticHandler(request, response, () => {
        // 失败回调
    })
}).listen(8080);
复制代码

以上代码是处理静态文件最简单的配置。需要注意的是()是异步操作。您可以通过使用 Node.js 运行 .js 来访问目录中的文件。

简单路由

要实现路由,首先要获取请求路径。 Node内置url模块的引入可以帮助我们解决这个问题

const url = require('url');
const http = require('http');
http.createServer((request, response) => {
    const path = url.parse(request.url).pathname;
    if (path === '/')
        response.end('path is /');
    else if (path === '/index')
        response.end('path is /index');
    else {
        response.statusCode = 404;
        response.end('Not Found');
    }
}).listen(8080);
复制代码

这是最简单的路由实现之一。需要注意的是,无论如何都必须调用.end()来终止请求,否则浏览器会一直等待对应的状态

在实际开发中,我们不会使用一系列的if...else来处理路由,一般创建一个路由映射表,加上静态文件处理:

const url = require('url');
const http = require('http');
const serveStatic = require('serve-static');
const publicPath = 'public';
const staticHandler = serveStatic(publicPath);
const map = new Map([
    ['/', response => {
        response.end('path is /');
    }],
    ['/index', response => {
        response.end('path is /index');
    }]
]);
http.createServer((request, response) => {
    const path = url.parse(request.url).pathname;
    if (map.has(path)) {
        let handler = map.get(path);
        handler(response);
    } else
        staticHandler(request, response, () => {
            response.statusCode = 404;
            response.end('Not Found');
        });
}).listen(8080);
复制代码

当前服务的处理逻辑是:先找到对应的路由,如果有,交给路由的回调处理,如果没有,在目录中寻找静态文件,返回404错误如果没有

结论

我还是为这个系列多写了几篇文章,但是我发现写的越多,对PHP越无所谓,所以打算放弃这个前缀,以后的文章会专注于Node的web发展

感谢阅读php开发笔记php开发笔记,欢迎指出文中错误,欢迎交流

接下来的几篇文章将介绍一个基于我最近在研究的开源框架的更复杂的后端架构。寻求关注和star

Tag: 路由 node
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 2018年IEEE顶级编程语言交互排行榜和2017年排行榜对比图
  • PHP配置文件中代码位置如下:检查WEB根目录是否搭建成功
  • 微信公众平台开发接口php sdk完整版下载微信公众平台来扩展业务流程吗?较大怎么办?微信公众平台 php sdk 开源
  • php高级程序设计 模式 框架与测试低代码是不是软件开发行业的未来,基本上反对和赞同参半 php高级程序设计模式,框架与测试
  • 网上商城自定义布局开发php来说说开发一套商城系统应当注意的几个功能? 网上商城系统php开发
  • php源码加密工具 开源不能使用win版加密的文件放到下运行的使用案例php开源网站源码
  • 关于开发语言(是什么语言,主要应用在哪些开发?)
  • php开源企业网站系统本周推出企业级别的应用程序是正在变得更加商用化的象征php开源企业
  • 点“查看报表”可以查看网站的统计系统来使用
  • php仿百度文库实现文档在线预览百度文库发布“乘风计划”2021年投入1亿现金和30亿流量vue 实现word文档预览

相关

php后端开发
Node.js和PHP之间哪个更好?PHP概

php后端开发 Node.js和PHP之间哪个更好?PHP概

php开发典型模块大全光盘Node.js应用的热更新是不是就

创业做网站选择用好还是php?我用node和PHP做过网站

创业做网站选择用好还是php?我用node和PHP做过网站

php下载页面代码感谢IT之家网友羲剑殇投递新闻线索(组图)

国产PHPView应用程序控制器(r)框架TP框架

国产PHPView应用程序控制器(r)框架TP框架

适合中小型项目开发的国产PHPView应用程序控制器

适合中小型项目开发的国产PHPView应用程序控制器

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

深入学习PHP编程基础与高级技术,掌握数字时代开发技能

PHP中七个常用框架介绍,详细解读ThinkPHP及其他框架

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们