找到 34423 篇文章,关于编程

理解 Node.js 中的 npm 脚本

Shyam Hande
更新于 2020年5月13日 12:15:36

296 次浏览

到目前为止,我们使用以下命令运行我们的 App.js:Node App.js。我们可以使用 npm 脚本运行或调试我们的应用程序。如何启动一个 Node 项目?命令是:npm init。上述命令将初始化一个项目,它会询问一些关于项目名称和起始文件名等问题。由于我们已经有 App.js 文件,因此将其作为起始入口文件名。npm init 命令将创建一个 package.json 文件,从中可以添加/更新/删除项目的依赖项。Package.json 文件如下所示,根据文件扩展名建议,它是 json 文件格式:{ "name": "dev", "version": "1.0.0", ... 阅读更多

理解 npm - Node 模块系统

Shyam Hande
更新于 2020年5月13日 12:11:09

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(''); ... 阅读更多

Node.js 的后台工作原理 - 简要分析

Shyam Hande
更新于 2020年5月13日 12:05:48

298 次浏览

Node.js 只使用一个 JavaScript 执行线程。问题是:Node.js 如何处理多个 http 或其他请求,以及可能存在性能和安全问题?Node.js 在应用程序启动时启动事件循环,并使用它处理回调函数。Node.js 保持一个工作池。长时间运行的操作被转移到此工作池,事件池只在任务完成后处理来自此工作池的响应。工作池与操作系统协同工作,完成繁重的工作并管理任务的调度。工作池一旦完成任务,就会使用回调函数响应事件循环。事件循环保持… 阅读更多

理解 Node 中代码执行的阻塞和非阻塞

Shyam Hande
更新于 2020年5月13日 12:04:29

466 次浏览

现在,我们在 fs 模块中有一个文件写入函数 writeFileSync,如下所示:const requestBody = []; req.on('data', (chunks) => { requestBody.push(chunks); }); return req.on('end', () => { const parsedData = Buffer.concat(requestBody).toString(); const username = parsedData.split('=')[1]; fs.writeFileSync('username.txt', username); //redirect res.statusCode=302; res.setHeader('Location', '/'); return res.end(); });Sync 表示同步。这是一个阻塞代码示例。只有在文件写入完成后,才会开始执行文件的其余代码。上面的代码更简单,但是如果我们有一个大型文件处理操作,它会导致应用程序性能下降。这种代码执行方式将减慢… 阅读更多

理解 Node 中的事件驱动代码执行方法

Shyam Hande
更新于 2020年5月13日 12:02:44

123 次浏览

在前面 App.js 的示例中,我们看到了如何使用 data 和 end 事件解析请求中的数据。下面的代码片段显示了该 if 块:if(url === '/username' && req.method === 'POST'){ const requestBody = []; req.on('data', (chunks) => { requestBody.push(chunks); }); req.on('end', () => { const parsedData = Buffer.concat(requestBody).toString(); const username = parsedData.split('=')[1]; fs.writeFileSync('username.txt', username); }); //redirect res.statusCode=302; res.setHeader('Location', '/'); return res.end(); }在上面的代码块中,如果路径匹配 ‘/username’ 并且… 阅读更多

在 Node 中解析请求体

Shyam Hande
更新于 2020年5月13日 11:57:25

3K+ 次浏览

在之前的简单代码示例中,我们看到了如何路由请求和创建文件以输入测试数据。现在,我们想将用户输入的数据保存到文本文件中。Node.js 如何处理传入的请求数据Node.js 分块读取数据,这意味着它使用流来读取数据。一旦 Node 完成读取请求数据,我们就可以继续将其用于我们的目的。首先分块读取数据 const requestBody = []; req.on(’data’, (chunks) => { requestBody.push(chunks); });我们已在传入的 http 请求上注册了一个名为’data’的事件。此事件将继续流式传输数据并推送到 requestBody const … 阅读更多

在 Node.js 中重定向请求

Shyam Hande
更新于 2020年5月13日 11:50:28

2K+ 次浏览

现在我们有一个如下所示的 App.js 文件,我们希望在 Node 服务器收到用户名后将用户重定向回 ‘/’。我们将用户名存储在一个名为 username.txt 的文件中。初始 App.js 文件:const http = require('http'); const server = http.createServer((req, res) => { const url = req.url; if(url === '/'){ res.write(''); res.write(' Hello TutorialsPoint '); res.write(' Submit '); res.write(''); return res.end(); } res.write(''); res.write(' Hello TutorialsPoint '); ... 阅读更多

在 Node.js 中路由请求

Shyam Hande
更新于 2020年5月13日 11:40:43

1K+ 次浏览

路由 http 请求很重要,因为我们希望根据请求 url 执行不同的业务规则,并且每个路由的响应将有所不同。前面我们看到,我们可以在 Node 中通过 request.url 获取 url。下面是一个简单的带路由的用户名输入示例:const http = require('http'); const server = http.createServer((req, res) => { const url = req.url; if(url === '/'){ res.write(''); res.write(' Hello TutorialsPoint '); res.write(' Submit '); res.write(''); ... 阅读更多

从 Node.js 服务器向浏览器发送响应

Shyam Hande
更新于 2020年5月13日 11:35:41

865 次浏览

App.js:const http = require('http'); const server = http.createServer((req, res) => { console.log(req.url, req.method, req. headers); }); server.listen(3000);如上例所示,我们在 createServer 方法中将请求和响应参数对象作为参数。响应 (res) 对象将用于向客户端发送数据。它有很多属性,下面解释一些:res.setHeader(’Content-Type’, ‘text/html’); 这行代码将响应内容的格式设置为 text/html。如何从 node.js 发送 html 内容?响应对象上的 write() 函数方法可用于发送多行 html 代码,如下所示。res.write(‘’); res.write(’ Hello TutorialsPoint ’); res.write(’ Hello Tutorials ... 阅读更多

理解 Node 中的 http 请求

Shyam Hande
更新于 2020年5月13日 11:31:28

255 次浏览

App.jsconst http = require('http'); const server = http.createServer((req, res) => { console.log(req); }); server.listen(3000);使用命令运行:node App.js我们可以通过打开浏览器并导航到 localhost:3000 来查看请求对象的内容。控制台窗口将打印出大量信息。我们将看到一些重要的属性。确定请求来源的 url、请求方法类型和请求中的标头很重要。标头将向我们提供有关主机和浏览器类型、主机接受的响应等信息。请求方法可以是任何 http 方法类型,例如 GET、POST、PUT、DELETE 等。const http = require('http'); const ... 阅读更多

广告
© . All rights reserved.