如何用Node.js读取文本文件并将其写入HTML页面?

我有一个文本文件,我想用Node.js阅读使用FS模块。 我知道如何阅读文件,但我不知道如何把文本文件的数据,并能够把它放到网页上。

例如:我想读一个文件,内容是“hello world !!!” 然后使用jQuery把它放到一个div。

NodeJS不是一个Web服务器。

但是,您可以轻松添加依赖项来提供此类function。

例如expresskoahapi

到目前为止,你已经有了 [] 这样的东西

 var fs = require('fs'); fs.readFile('data.json', (e, data) => { if (e) throw e; console.log(data); }); 

你可以使用express如下( 注意:如果你还没有运行npm init ,那就提供合理的默认值 ):

 npm init npm install --save express 

然后,创build一个文件app.js来为您提供数据,例如:

 var express = require('express'); var app = express(); app.use('/', (req, res) => { if (e) throw e; // **modify your existing code here** fs.readFile('data.json', (e, data) => { if (e) throw e; res.send(data); }); }); app.listen(5555); 

启动您的节点“networking服务器”:

 node app.js 

最后 ,将您的浏览器指向:

 http://localhost:5555/ 

我不知道这样做的目的是什么,但是可以使用Express来启动一个提供文本文件内容的简单Web服务器。 然后,您只需要使用jQuery从您的网站页面请求此Web服务器。

如果您正在使用jquery,并且只是在您的快速服务器上构build一个服务于文本文件内容的端点。

你的jQuery:

 $.getJSON("/text", function(data){ <write code here to render contents of text file to the DOM> }) 

你在节点中的终点:

 router.get("/text", function(req, res){ fs.readFile(textFile, 'utf8', function(err, data) { if (err) throw err; return res.json(textFile); }) }) }) 

正如我理解你的问题,你想要“渲染”客户端上的文本,而不是在服务器上。 使用jQuery最简单的方法是使用$.ajax如下所示:

 const URL_TO_STATIC_TXT = 'https://cdn.rawgit.com/fabe/2a371ce28effb32fa1120f8d25225d37/raw/6d0bfebff1d0b52d72ed5ded4011a0bbff80d679/file.txt'; $.ajax({ url: URL_TO_STATIC_TXT }) .done(data => { $('body').text(data); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>