我试图在Heroku上创建一个Node.js应用程序,它将输出10个不同的ASCII面(我已经拥有了所需的模块)。使用Heroku上的Node教程,我已将其设置为输出10个面。但是,当我尝试实际运行代码时,它会将所有面内联相互放置。我应该如何设法使面部在他们自己的线上输出(如果这甚至是一个单词)?
我当前的index.js
如下:
var express = require('express');
var app = express();
var cool = require('cool-ascii-faces');
app.set('port', (process.env.PORT || 5000));
app.get('/', function(request, response) {
var result = ''
var times = process.env.TIMES || 5
for (i=0; i < times; i++)
result += cool();
response.send(result);
});
app.listen(app.get('port'), function() {
console.log("Node app is running on port: " + app.get('port'))
})
我已经设置了一个.env
文件供Foreman使用(在本地测试时),其中包含以下内容:
TIMES=9
如果您想查看输出,请查看here。
TL; DR:如何在Node中使用换行符?
答案 0 :(得分:0)
默认情况下,浏览器假定Web服务器发送HTML HTML忽略换行符。
如果您没有发送HTML,则需要通过设置其他类型来指定:
response.header("Content-Type", "text/plain");
要实际发送换行符,只需将'\n'
连接到您的字符串。
答案 1 :(得分:0)
我访问了相关网站并进行了查看 - &gt;资源。没有像HTML,BODY等那样的标记。我假设浏览器会将输出解释为HTML。这应该有效,因为我们使用HTML标签和一对PRE标签来表示如果我们看到硬回车('\ n'),那么浏览器应该显示它。
app.get('/', function(request, response) {
var result = '<html><pre>';
var times = process.env.TIMES || 5
for (i=0; i < times; i++)
result += cool() + '\n';
result += '</pre></html>';
response.send(result);
});