在Node.js中,读取一个.html文件的目录并在其中search元素属性?

我甚至不能想到如何做到这一点。 基本上,想象一个文件夹,它有一个静态网站。 它具有所有的图像,样式和html文件等。使用我的Node应用程序,我想查看这个文件夹,只获取.html文件,然后select具有“data-template =”属性的.html文件在家里“。

我知道这似乎有点奇怪,但它是一个项目,需要用户上传他们的静态网站文件,然后我的节点应用程序做他们的文件的东西。

无论如何,只是好奇迭代某些文件types,然后在里面寻找…任何帮助接近这将真正帮助我。

非常感谢,詹姆斯

这段代码将扫描目录中的所有文件,然后读取.html文件的内容,然后在其中查找stringdata-template="home"

 var fs = require('fs'); fs.readdir('/path/to/html/files', function(err, files) { files .filter(function(file) { return file.substr(-5) === '.html'; }) .forEach(function(file) { fs.readFile(file, 'utf-8', function(err, contents) { inspectFile(contents); }); }); }); function inspectFile(contents) { if (contents.indexOf('data-template="home"') != -1) { // do something } } 

如果你需要更多的灵活性,你也可以使用cheerio模块在html文件中查找具有该属性的元素:

 var cheerio = require('cheerio'); function inspectFile(contents) { var $ = cheerio.load(contents); if ($('html[data-template="home"]').length) { // do something } } 

看看nodejs文件系统模块

http://nodejs.org/docs/v0.5.3/api/fs.html

您可以使用fs.readdir()获取所有文件的名称,然后阅读.html文件以查找“data-template = home”。