我已经创建了一个生成数据列表的JavaScript程序。输出示例如下:
output one
output two
output three
...
我希望能够生成一个HTML文件,可以保存到磁盘和浏览器打开。下面是我想要生成的HTML示例。
<html>
<head>
</head>
<body>
<table id="history_table">
<tr>
<td>header 1</td>
<td>header 2</td>
<td>header 3</td>
</tr>
<tr>
<td>output one</td>
</tr>
...
</table>
</body>
</html>
我尝试过这样做:
var htmlDoc = document.createElement("HMTL");
htmlDoc.innerhtml('<head></head><body>...</body>');
但这显然是错误的,因为document对象并不存在。
我认为这个问题是有道理的,特别是从它获得的票数来看。它能重新打开吗?
发布于 2014-02-07 10:48:04
尽管@yanick-rochon的答案是正确的,但实现目标的最简单方法(如果是提供动态生成的html)是:
var http = require('http');
http.createServer(function (req, res) {
res.write('<html><head></head><body>');
res.write('<p>Write your HTML content here</p>');
res.end('</body></html>');
}).listen(1337);
这样,当你在http://localhost:1337
上浏览时,你会得到你的html页面。
发布于 2014-02-07 11:08:20
如果你想创建静态文件,你可以使用Node.js File System库来实现。但是,如果您正在寻找一种方法来创建动态文件作为数据库或类似查询的结果,那么您将需要一个像SWIG这样的模板引擎。除了这些选项之外,您还可以像往常一样创建HTML文件,并通过Node.js提供这些文件。为此,您可以使用Node.js File System从HTML文件中读取数据并将其写入response。一个简单的例子是:
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
fs.readFile(req.params.filepath, function (err, content) {
if(!err) {
res.end(content);
} else {
res.end('404');
}
}
}).listen(3000);
但我建议您研究一些框架,如Express,以获得更有用的解决方案。
https://stackoverflow.com/questions/21617468
复制相似问题