Node.js& Express.js字体差异

时间:2017-01-31 08:52:59

标签: javascript node.js express server-side

我正在搜索服务器端编码的示例,我尝试了Node和Express。在我尝试下面显示的每个example.js之后,我遇到了它们之间的字体差异。好的,我知道express.jsNode.js的框架,但我无法找到原因或基础技术(或排版的主要原因/特征)

这是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 outputNode.js output

1 个答案:

答案 0 :(得分:6)

  

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

嗯,不,不完全。您的"普通节点"示例显式地将内容类型设置为" text / plain",但是您不会对Express示例执行相同操作,在这种情况下,它将默认为" text / html&#34 ;

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

使用" text / plain"时,大多数浏览器都会以等宽字体呈现内容。