832 次浏览
为了在http请求中接收一些数据,让我们在url路径‘/add-username’上添加一个表单:app.use('/add-username', (req, res, next)=>{ res.send(' Send '); });为了解析http请求,我们需要一个第三方库body-parser:这是一个生产所需的依赖项npm install –save body-parserexpress js提供中间件use函数,在添加中间件之前包含一个body parser。const http = require('http'); const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({extended: false}));上面显示的use(0函数默认使用next()函数,因此http请求会在没有任何问题的情况下传递到下一个中间件。以上… 阅读更多
417 次浏览
为了处理不同的路由,使用use()函数。use()函数有多个重载版本,其中一个版本也接受url路径作为参数。根据url路径,将为各个中间件过滤请求。const http = require('http'); const express = require('express'); const app = express(); app.use('/', (req, res, next)=>{ console.log('第一个中间件'); res.send('第一个中间件: Hello Tutorials Point '); }); const server = http.createServer(app); server.listen(3000);在上面的例子中,我们使用‘/’作为url路径,这是默认的。现在,由于每个路由都以‘/’开头,因此上面的中间件将对每个http请求执行。它适用于‘/’… 阅读更多
333 次浏览
应用程序中的每个请求都会经过 Express 中的多个中间件。如果其中一个中间件返回响应,则到此结束。如果任何中间件想要将请求传递给下一个中间件,它会在其函数调用的末尾使用 next() 函数调用。Http 请求 -> 中间件 (req, resp, next) -> 中间件 (req, res, next) -> Http 响应 (res.send())。const http = require('http'); const express = require('express'); const app = express(); app.use((req, res, next)=>{ console.log('第一个中间件'); }); const server = http.createServer(app); server.listen(3000);中间件是使用上面显示的 use 函数添加的。Use() 函数基本上接收三个参数:请求、响应和 next() 函数。… 阅读更多
88 次浏览
为什么需要 express.js?编写核心 Node.js 代码来获取请求数据并解析它非常复杂。正如我们在之前的文章中看到的,我们编写了数据和结束事件来获取简单的请求数据。Express 使这个过程更简单。它帮助开发人员更专注于编写业务逻辑,而不是 Node 的内部复杂性。Express.js 承担了 Node 内部工作的大部分繁重工作。还有一些其他的 express.js 替代方案可用,例如 Adonis.js、Sails.js 等。安装 express.js 为什么是 –save 而不是 –save-dev 用于 express?Express 是一个主要的运行时所需库,所以它是一个依赖项,而不仅仅是开发依赖项。这就是为什么… 阅读更多
133 次浏览
在之前的示例中,我们使用了 VS Code 中的调试器来检查任何逻辑错误。在本文中,我们将了解如何使用调试控制台并在更改时自动重新启动调试器。在调试控制台中,我们还可以键入表达式并预先评估其结果。这在查找逻辑错误方面非常有用。在左侧菜单中,我们还可以查看变量和表达式,例如:在变量部分,开发人员可以通过双击其值并进行编辑来更改变量的值。这将直接更改应用程序运行时,并将生效。这样一个… 阅读更多
410 次浏览
错误类型包括:语法错误运行时错误逻辑错误语法错误 - 这些很容易找到,因为大多数开发工具(如 Visual Studio Code)在出现语法错误时都会显示红线。解决方案的建议可能不正确,但它可以帮助了解代码特定区域出现的问题。运行应用程序时,控制台终端将显示错误。控制台日志可以指向发生错误的确切行。更常见的语法错误例如缺少代码块的结束括号,需要识别正确的代码块。运行时错误 - 例如 -… 阅读更多
633 次浏览
现在,到目前为止,我们已经看到了如何使用 npm init 命令创建一个 Node 项目,以及如何添加脚本来运行应用程序。为什么需要第三方库我们使用了 Node.js 的核心模块,例如 http、fs 等,这些模块默认情况下随 Node.js 提供,但是仅使用这些核心模块并不能简化我们的工作。为了添加更多有用的功能和更简单的代码,我们需要安装第三方库,例如 express、body-parser 等。我们从云存储的 npm 存储库中获取第三方库。安装是使用 npm install 命令完成的。Nodemon我们使用 npm start 命令运行我们的 App.js 文件。… 阅读更多
296 次浏览
到目前为止,我们使用以下命令运行我们的 App.js:Node App.js我们可以使用 npm 脚本运行或调试我们的应用程序。如何启动一个 Node 项目命令是:npm init上面的命令将启动一个项目,它将询问一些关于项目名称和启动文件名等问题。由于我们已经有了 App.js 文件,因此请将 App.js 文件作为启动入口文件名。npm init 命令将创建一个 package.json 文件,从中可以添加/更新/删除项目的依赖项。Package.json 文件如下所示,它是根据文件扩展名建议的 json 文件格式:{ "name": "dev", "version": "1.0.0",… 阅读更多
116 次浏览
在我们之前的获取用户输入并将其存储到文件的示例中,只有一个文件。但在现实场景中,我们将不得不创建多个文件以使代码保持简单易读。让我们看看如何在 Node.js 中使用模块系统。我们有 App.js:const http = require('http'); const fs = require('fs'); const server = http.createServer((req, res)=>{ const url = req.url; if(url === '/'){ res.write(''); res.write(' Hello TutorialsPoint '); res.write(' Submit '); res.write(''); … 阅读更多
297 次浏览
Node.js 只使用一个 JavaScript 执行线程。问题是:Node.js 如何处理多个 http 或任何其他请求,以及性能和安全方面的问题?Node.js 在应用程序启动时启动事件循环,并使用它来处理回调函数。Node.js 保持一个工作池。长时间运行的操作被转移到此工作池,事件池仅在任务完成后处理来自此工作池的响应。工作池与操作系统一起执行繁重的工作并管理任务调度。工作池完成后,使用回调函数响应事件循环。事件循环保持… 阅读更多