我在 Node.js 和 Express.js 上随意开发了示例。在启动下面显示的每个的 example.js
之后,我遇到了它们之间的字体差异。即使我知道 Express
是 Node
的框架,但我找不到任何地方为什么排版会发生变化。
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!')
})
Node.js 的输出:
Express.js 的输出:
最佳答案
and here is Express.js version handles the same job
嗯,不,不完全是。您的“普通 Node ”示例明确将内容类型设置为“文本/普通”,但您没有对 Express 示例执行相同的操作,在这种情况下它将默认为“文本/html”。
如果服务器告诉浏览器响应包含 HTML,浏览器将应用默认的 CSS 样式表,该样式表通常包含正文字体(类似于 Times New Roman)。
当您使用“text/plain”时,大多数浏览器会以等宽字体呈现内容。
关于javascript - Node.js & Express.js 字体区分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41953239/