首页
学习
活动
专区
圈层
工具
发布

Node | Express简单使用

一、什么是Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架 Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能...通俗的理解:Express的作用和Node.js内置的 http模块类似,是专门用来创建Web服务器的。...req.query获取URL中携带的查询参数 req.query默认是一个空对象 server.get('/getUserById',(req,res)=>{ console.log('id==',req.query.id.../static'))) 文件结构: 注意:Express在指定的静态目录中查找文件,并对外提供资源的访问路径。...路径:http://127.0.0.1/img/img001.jpg 结果: 访问index.html 路径:http://127.0.0.1/index.html 结果: 如果要托管多个静态资源

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vue3+TS+Node打造个人博客(后端架构)

    在使用 Express 搭建后端服务时,主要关注的几个点是: 路由中间件和控制器 SQL处理 响应返回体数据结构 错误码 Web安全 环境变量/配置 路由和控制器 路由基本上是按模块或功能去划分的。...但是由于我一开始采取的方案是:在BaseController给req挂载connection,并在具体的业务控制器执行完sql查询语句后再自行释放connection,这个基本使用过程我在后面一节也说到了...因为我觉得自己的 SQL 基础并不是很好,还需要自己多写 SQL 语句练习一下,所以我只用了一个mysql的库。...注意,这个参数是一个数组,数组中的值会按照从左到右的顺序依次替换掉 SQL 字符串中的?,变成一个真实的可执行的 SQL 语句。...有了这次全栈开发的经验,大大提高了我对前后端全链路的理解程度,这之后和后端开发们聊天也更有话题可聊了,有时候还能帮后端捋捋思路、一起排查下问题。总之非常奈斯!

    1.2K20

    koa-route 源码阅读

    用法 在不使用中间件的情况下,需要手动通过 switch-case 语句或者 if 语句实现路由的功能: const Koa = require('koa'); const app = new Koa(...执行上面的代码,然后在浏览器中访问 http://127.0.0.1:3000/name ,可以看到返回的内容为 elvin;访问 http://127.0.0.1:3000/date ,可以看到返回的内容为...执行上面的代码,然后在浏览器中访问 http://127.0.0.1:3000/echo/tencent ,可以看到返回的内容为 tencent ;访问 http://127.0.0.1:3000/echo...路由匹配 作为一个路由中间件,最关键的就是路由的匹配了。...和 (?:\/(?=$)) 这种形如 (?:pattern) 的正则用法叫做非捕获性分组,其和形如 (pattern) 的捕获性分组区别在于:非捕获性分组仅作为匹配的校验,而不会作为子匹配返回。

    59120

    Node.js GET、POST 请求是怎样的?

    作为一种强大的后端开发工具,Node.js 提供了丰富的模块和功能,使开发人员能够轻松地构建高性能的网络应用程序。本文将重点讨论 Node.js 中的 GET 和 POST 请求。...GET 和 POST 是 HTTP 协议中常用的两种请求方法,它们在传输数据和访问资源等方面有不同的特点。了解如何在 Node.js 中处理这两种请求方式对于构建 Web 应用程序至关重要。...最后,我们使用 res.send() 方法将保存成功的信息返回给客户端。总结本文详细介绍了在 Node.js 中处理 GET 和 POST 请求的方法。...在处理 GET 和 POST 请求时,你可以使用 Node.js 内置的 http 模块或者第三方模块 express。...通过本文的学习,相信你已经掌握了在 Node.js 中处理 GET 和 POST 请求的方法。

    1.9K20

    Node EE方案 -- Rockerjs在微店的建设与发展

    ORM框架,而是采用XML模板渲染的形式构建SQL语句,语法与mybatis极度相似。...这样在消耗一些性能的前提下完成所有请求的追踪是性价比极高的行为,在请求出错的排查、链路压测等情况下尤其有用。 那么,Node.js中如何实现链路追踪的呢?...自动埋点 由 Rockerjs-MVC和其他中间件创建调用上下文,生成埋点信息 TraceId、RPCId、isSample等 自动埋点,埋点信息由中间件自动放入当前请求的“ThreadLocal”,...对开发者完全透明 调用上下文在整个链路的透传 Dubbo调用采用Attachment机制 HTTP采用header透传 中间件请求则本地记录日志 埋点与“ThreadLocal” 我“自作主张”在Node.js...ThreadLocal 变量作为线程内的局部变量,在多线程下可以保持独立,它存在于线程的生命周期内,可以在线程运行阶段多个模块间共享数据。

    93920

    使用 OpenTelemetry Tracing 了解您的微服务

    链路追踪是可观测性策略中特别有用的部分,因为链路追踪提供了发出请求时多个通常松散耦合的组件之间的“全局视图”。这也是识别性能瓶颈的一种尤为高效的方法。...通知器服务使用接收者首选的方法发送一个或多个通知(在本教程中,选择的方法是短信和电子邮件)。 遥测目标 在设置遥测工具时,最好先确定一组明确的监测目标,而不是“发送所有内容,希望获得洞察”。...但所有链路追踪配置都位于在运行时被导入 Node.js 进程的脚本中。此处,您可将由信使服务生成的链路追踪的目标位置从控制台更改为外部收集器(在本教程中为 Jaeger)。...鉴于在消息编写过程中还进行了几次 SQL 查询,因此这也很合理。这反过来表明,您可能需要增加自动埋点配置,以捕获这些查询的用时。...: 'a94e9462a39e6dbf', traceFlags: 1, traceState: undefined }, 在控制台中链路追踪 ID 是匹配的,但最后您可以将其与 Jaeger

    1.3K20

    JS中的for循环——你可能不知道的点。

    ; console.log('value是' + arr[i]); }, 2000); })(i); } 问题2解决与相关讲解 for循环中使用异步,在node.js...有多种解决方案 回调 callback 嵌套异步操作、再回调的方式 Promise + then() 层层嵌套 async和await 选择我个人认为最优秀的解决方式3async和await进行讲解。...就会先返回,等到触发的异步操作完成,再接着执行函数体内后面的语句。...实际上我们调用了await,这时候await这条语句下面的语句已经不会执行了(内同),而是先给外层async函数返回了一个promise对象,await后面对应的应该也是一个promise对象只有该对象...node.js后端开发-await在for循环中的应用 看一段后端项目中应用await的代码: //dayResult是一个查询到的数组 for (const item of dayResult)

    2.7K11

    JS中的for循环——你可能不知道的点。

    ; console.log('value是' + arr[i]); }, 2000); })(i); } 问题2解决与相关讲解 for循环中使用异步,在node.js...有多种解决方案 回调 callback 嵌套异步操作、再回调的方式 Promise + then() 层层嵌套 async和await 选择我个人认为最优秀的解决方式3async和await进行讲解。...就会先返回,等到触发的异步操作完成,再接着执行函数体内后面的语句。...实际上我们调用了await,这时候await这条语句下面的语句已经不会执行了(内同),而是先给外层async函数返回了一个promise对象,await后面对应的应该也是一个promise对象只有该对象...node.js后端开发-await在for循环中的应用 看一段后端项目中应用await的代码: //dayResult是一个查询到的数组 for (const item of dayResult)

    1.7K20

    MCP技术革命:元控制协议如何重构AI与数据库的交互范式

    MCP(Meta-Control-Protocol)通过创新的元控制协议,将自然语言无缝转换为SQL语句,正在引发数据处理领域的智能革命。...一、MCP技术本质:AI原生的数据库交互协议MCP协议的核心创新在于构建了"自然语言→语义解析→SQL生成→执行优化"的完整链路,其技术栈包含三大支柱:语义解析引擎undefined采用Transformer...AI原生应用的兴起undefined自动驾驶、智能推荐等场景需要实时融合多源数据。MCP支持在SQL中调用PyTorch模型,某推荐系统因此提升35%的预测准确率。...在服务启动时加载全量元数据:java -jar focus_mcp_sql.jar --preload-metadata=true向量化查询优化undefined启用SIMD加速:java -jar focus_mcp_sql.jar...AutoML集成undefined内置自动化机器学习模块,实现"自然语言描述需求→自动建模→部署服务"的全链路。

    68110

    javascript基础重点

    1.在javascript中使用 == 比较,会自动转换数据类型再比较,有时候会 得到非常诡异的结果;一般情况下使用 === 比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,...: function foo() { return; // 自动添加了分号,相当于return undefined; { name: 'foo' }; // 这行语句已经没法执行到了...javascript的函数可以嵌套,内部的函数可以访问外部的函数定义的变量,反之不行 如果内部函数和外部函数的变量重名的话,javascript的函数在查找变量时从自身函数定义开始,从内向外查找,如果内部函数定义了与外部函数重名的变量...如果要实现非常复杂的操作,考虑以下优化方案: 通过创建一个不可见的Canvas来绘图,然后将最终绘制结果复制到页面的可见Canvas中; 尽量使用整数坐标而不是浮点数; 可以创建多个重叠的...,原因是在绑定事件的代码处,无法捕获事件处理函数的错误 26.underscore函数库  node.js 27.

    1.2K20

    Nest.js 实战 (十五):前后端分离项目部署的最佳实践

    ☘️ 前言 本项目是一个采用现代前端框架 Vue3 与后端 Node.js 框架 Nest.js 实现的前后端分离架构的应用。...部署 web 应用 在 网站-网站 点击 创建网站,选择 静态网站,填入所需网站信息: 图片 进入网站目录,将 web 应用打包的 dist 文件夹上传并解压: 图片 进入网站配置,设置网站目录,选择刚上传解压的...如果有多个接口前缀,或者有其他如图片服务的前缀,那就配置多个代理,道理是一样的。 如果顺利的话,重新刷新页面,就能看到前端能正常请求数据了。...接口能正常请求,但 sql 语句报错 答:这个是后端服务启动成功了,前端也能正常请求,但可能由于数据库缺失表,或者服务本身 sql 语句有误,检查数据库每张表的信息是否完整,根据 sql 报错信息检查。...祝君部署应用一路绿灯! 总结 本篇文章是根据我的项目 Vue3 Admin 部署经验,可供大家参考,希望对大家有帮助!

    98910

    全栈工程师角色介绍

    其核心定义可从以下维度展开:一、核心定义技术广度与深度undefined全栈工程师需掌握多种技能,涵盖前端开发(如HTML/CSS/JavaScript、React/Vue框架)、后端开发(如Node.js.../Python/Java)、数据库设计(MySQL/MongoDB)、服务器配置(Nginx/Apache)等全链路技术栈。...现代框架(React/Angular)及工具链(Webpack/Vite);后端:RESTful API设计、身份认证(OAuth/JWT)、性能优化(缓存/异步任务);数据库:关系型与非关系型数据库设计、SQL...三、核心价值效率与成本优势undefined在创业公司或小团队中,全栈工程师可“一人抵多岗”,快速验证产品原型,降低人力成本。...系统化视角undefined他们能从整体架构出发,平衡技术选型与业务需求,避免因局部优化导致的系统瓶颈。敏捷开发支持undefined通过跨领域协作减少沟通障碍,推动快速迭代和持续交付。

    1.1K10

    答网友问:await 一个 Promise 对象到底发生了什么

    小孩子每走一段路都会停下来,回头看看在他身后寸步不离的妈妈,得到妈妈的鼓励或者奖励后,再走向下一个目标。...图 2:async 函数转换成 generator 函数示例 在讲解图 4 之前,还是有必要再次复习两个重要的概念:yield 表达式和 yield 语句。...图 3 还画出了一个重要的地方:generator 函数执行的暂停点:在 yield 表达式求值结束之后,但 yield 语句返回之前。...通过这样的方式,Promise 对象在 generator 函数和自动执行器之间流转。真是一个巧妙的过程。...generator 函数恢复运行后干的第一件事就是对 yield 语句求值。 如果像 g.next() 这样驱动它的话,yield 语句返回的是 undefined 。

    55521

    JS通用模块写法

    使用了 CommonJS 规范: var foo = require("foo"); var out = foo.sayName(); module.exports = out; 在浏览器端,不像 Node.js...foo) { var out = foo.sayName(); return out; }); 可以看出 CMD 完好的保留了 CommonJS 的风格, 而 AMD 用了一种更简洁的依赖注入和函数返回的方式实现模块化...== "undefined" && typeof exports === "object") { module.exports = factory; } 在 CMD 和 AMD 中,我们需要提供一个工厂函数传入...然后还要满足 script 标签全局引入,我们可以将模块放在 window 上,为了模块内部在浏览器和 Node.js 中都能使用全局对象,我们可以做此判断: var global = typeof window...== "undefined" ? window : global); 注意:闭包前加上分号是为了给前一个模块填坑,分号多了没问题,少了则语句可能发生变化。

    2.7K10

    TypeScript 入门

    4.分号是可选的 每行指令都是一段语句,你可以使用分号或不使用, 分号在 TypeScript 中是可选的,建议使用。 如果语句写在同一行则一定需要使用分号来分隔,否则会报错。...null 和 undefined)的子类型,代表从不会出现的值。..., undefined , object , function )在类型空间,typeof返回标识符对应的 TypeScript 类型 (索引访问操作符 Indexed Access Operator...) 在值空间,valfield 或 val.field 返回 val 对应属性的值 在类型空间,TypeT 返回对应 TS 类型 this关键字 在值空间,this 指向...比较复杂 在类型空间,this...可以作为类方法的返回值来实现链式调用 &| 运算符 在值空间表示 “按位与” 和 “按位或” (Bitwise AND,OR) 在类型空间表示类型的交叉和联合 const 在值空间用来声明常量 在类型空间与

    2K20

    大话 JavaScript(Speaking JavaScript):第六章到第十章

    还列出了 Node.js,尽管Jaxer在它之前就存在: 1997 年—动态 HTML 动态 HTML 允许您动态更改网页的内容和外观。...V8 是开源的,可以在需要快速嵌入式语言时作为独立组件使用。 2009 年—Node.js,在服务器上实现 JavaScript Node.js 允许您实现在负载下表现良好的服务器。...== null) obj.foo(); while (x > 0) x--; 然而,任何语句都可以被块替换,即包含零个或多个语句的花括号。因此,您也可以这样写: if (obj !...因此,您的代码看起来更一致,并且在单语句和多于一条语句之间切换更容易。 使用分号的规则 在本节中,我们将讨论 JavaScript 中分号的使用。基本规则是: 通常,语句以分号终止。...最好不要聪明,而是在您可以的情况下编写两个单独的语句。 void 运算符 void运算符的语法是: void «expr» 评估expr并返回undefined。

    1.7K10
    领券