2017-01-31 13 views
8

Я искал примеры кодирования на стороне сервера, и я пробовал Node и Express произвольно. После того как я попробую их example.js каждого из приведенных ниже, я столкнулся с различием шрифтов между ними. Хорошо я знаю express.js это основа Node.js, но я не мог найти где-нибудь о причине или лежащей в основе технологии (или основной причине/особенности типографики)Node.js & Express.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 output Vs Node.js output

+2

Если вы установили 'res.setHeader ('Content-Type', 'text/html');' в версии pure node.js, вы получите тот же результат. Разница в шрифтах заключается в том, как ваш браузер отображает разные типы контента, по умолчанию отправляет 'text/html'. – Lyth

+0

Хорошо, большое спасибо за ту информацию, которую я не понимал. –

ответ

6

и здесь Express.js версия поддерживает ту же работу

Ну, нет, не совсем. Ваш пример «простого узла» явно задает тип содержимого «text/plain», но вы не делаете то же самое для примера Express, и в этом случае он будет по умолчанию «text/html».

Если сервер сообщает браузеру, что ответ содержит HTML, браузер будет применять таблицу стилей CSS по умолчанию, которая обычно включает в себя шрифт тела (что-то вроде Times New Roman).

Когда вы используете «text/plain», большинство браузеров будут отображать содержимое в моноширинном шрифте.