Node.js&Express.js字体区分

我正在寻找一个服务器端编码的例子,我试了任意的Node和Express。 我尝试了下面显示的每个example.js之后,我遇到了它们之间的字体区分。 好吧,我知道express.js是一个Node.js的框架,但我找不到任何关于原因或底层技术(或排版的主要原因/function)

这里是Node.js的例子;

 const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); 

这里是Express.js版本处理相同的工作;

 var express = require('express') var app = express() app.get('/', function (req, res) { res.send('Hello World!') }) app.listen(3000, function () { console.log('Example app listening on port 3000!') }) 

不久我就想知道究竟是什么原因导致了不同的产出。 另外,对方的服务器端语言是否在浏览器上给出不同的输出? 0.o

点击查看下面的输出,

Express.js输出 Vs Node.js输出

这里是Express.js版本处理相同的工作

那么,不,不完全是。 你的“纯节点”的例子显式设置的内容types为“文本/纯”,但你不这样做的Express例子,在这种情况下,它将默认为“文本/ HTML”。

如果服务器告诉浏览器响应包含HTML,浏览器将应用一个默认的CSS样式表,通常包含一个正文字体(类似于Times New Roman)。

当使用“text / plain”时,大多数浏览器将以等宽字体呈现内容。