这段代码中的客户端、路径和数据是什么?
What is client, path and data in this code?
我正在学习Node.js我已经创建了服务器和客户端.js文件,但我不明白一些事情。例如,在webserver.js文件中,我不知道pathname
的用途是什么。同样,在client.js
文件中,data
和path
是什么?
如果你认为我应该阅读它的基础知识,请提供给我一个有用的链接,如果你可以。我试着去找,但是没有找到。
webserver.js
var fs=require('fs');
var url=require('url');
var http=require('http');
http.createServer(function(request, response){
var pathname=url.parse(request.url).pathname;
console.log("Pathname: "+pathname+"Request.url: "+request.url);
fs.readFile(pathname.substr(1), function(err, data){
if(err){
console.log("Error reading.");
response.writeHead(400, {'content-type' : 'text/html'});
}else{
response.writeHead(200, {'content-type' : 'text/html'});
response.write(data.toString());
}
response.end();
});
}).listen(8081);
console.log("Server is running.");
client.js
var http=require('http');
var options={
host: 'localhost',
port: '8081',
path: '/index.html'
};
var callback=function(response){
var body='';
response.on('data', function(data){
body+=data;
});
response.on('end', function(){
console.log("Data received.");
});
}
var req=http.request(options, callback);
req.end();
原始代码源代码在这里:code
pathname是URL的路径部分,位于主机之后和查询之前,如果存在,包括初始斜杠。
pathname
是请求到http服务器的路径。这个问题的示例路径名是/questions/40276802/what-is-client-path-and-data-in-this-code
。client.js中的path
也是一样的。
你可以在Node.js文档中找到解析URL为路径名的文档:https://nodejs.org/api/http.html#http_message_url
Node的HTTP客户端使用流,它发出几个事件。data
是用缓冲区调用的,通常将缓冲区添加到数组中,然后再进行concat(正如代码所做的那样)。end
在发送所有缓冲区时被调用。
你可以从Node.js文档中找到处理事件的文档:https://nodejs.org/api/stream.html#stream_class_stream_readable
pathname是请求的路径。您应该查看url
包的文档:npm-url
在您的client.js
中:data
是来自服务器的响应数据。再次检查http
文档:HTTP|Node.js
关于学习回调和Node.js的所有内容:nodesschool .io
- 如何在应用中管理到 Firebase 数据的动态路径
- 纸张.js路径数据动画在帧和鼠标拖动
- d3:路径数据生成器和 if 语句
- 将数据写入位于客户端特定路径的CSV文件
- D3:“SVG4601:SVG 路径数据的格式不正确,无法完全解析
- 当连接在一起时,如何使用两个部分构建 JSON 对象,生成正确的 JSON 数据路径
- RequireJS 不遵循设置了 baseUrl 的数据主的相对路径
- 用于从 GPS 数据映射路径的 JavaScript 库
- jQuery 从数据属性获取路径
- 如何使用分区统计图的 d3.js 将数据从 .tsv 绑定到 SVG 的路径
- SVG文件 :如何使用Inkscape将PNG文件转换为SVG文件后获取路径标记数据
- 在悬停在 SVG 路径上时显示来自 JSON 的数据
- 寻路:如何为路径算法创建路径数据
- D3未显示来自外部数据的路径
- 为什么Object.obsoe()没有为回调提供更改的数据路径
- 从类似对象路径的数据中检索属性#0.elements.#0.name”;
- Javascript-变形/动画svg路径数据没有SMIL或库
- 如何在D3和JavaScript中添加数据到路径或对象
- 是否有可能通过Javascript下载数据,然后通过文件路径引用该数据?
- 将SVG路径数据转换为可用的图像