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

2024-04-18

我什至无法开始思考这将如何完成。基本上,想象一个文件夹,里面有一个静态网站。它包含所有图像、样式和 html 文件等。使用我的 Node 应用程序,我想查看此文件夹内部,仅获取 .html 文件,然后仅选择具有属性“data-template=”的 .html 文件家”'在他们里面。

我知道这可能有点奇怪,但这是一个需要用户上传静态网站文件,然后我的 Node 应用程序对这些文件执行操作的项目。

不管怎样,只是对迭代某些文件类型然后查看它们内部感到好奇......任何解决这个问题的帮助都会对我很有帮助。

非常感谢,詹姆斯


这段代码将扫描目录中的所有文件,然后读取目录中的内容.html文件,然后查找字符串data-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
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Node.js 中,读取 .html 文件目录并搜索其中的元素属性? 的相关文章

  • 防止左浮动 div 转到新行

    我有 4 个 div 设置为向左浮动 但最后的 div 不断在较小的屏幕上换行两个新行 这真的很烦我 我希望它们随屏幕尺寸缩放 以便它们始终保持在同一行上屏幕尺寸 并且我尝试不使用桌子 这非常诱人 因为他们对此非常可靠 我想知道如何解决这个
  • 在 Angular 中将图像 url 转换为 base64

    我正在努力尝试将给定的图像 url 转换为 base64 在我的例子中 我有一个带有图像路径的字符串 var imgUrl assets logoEmpresas empresa logoUrl 我如何直接将给定的图像网址转换为base64
  • TypeScript 中类似字典的对象应使用什么类型?

    在 TypeScript 中 我有时会使用期望 或返回 对象的函数 其中这些对象被视为字典 基本上我的问题是 这里使用的正确类型是什么 我可以用 Record
  • 两个http请求可以合并在一起吗?如果可以的话,nodeJS服务器如何处理呢?

    昨天我做了一些关于 NodeJS 的演讲 有人问我以下问题 我们知道nodeJS是一个单线程服务器 多个请求是 到达服务器并将所有请求推送到事件循环 如果什么 两个请求同时到达服务器 服务器将如何处理 处理这种情况 我猜到了一个想法并回复如
  • TSConfig JSX:React JSX 与 React

    在将 Typescript 与 React 一起使用时 我们必须指定jsx in compilerOptions in tsconfig json file It has preserve react react native react
  • 如何在 HTML/CSS 中进行制表符停止

    我想用 HTML 呈现一些文本的格式 这是一张图片 请注意带有项目符号点和段落编号的灰线 项目符号应位于页面中央 并且数字应正确对齐 我一直在尝试思考如何在 HTML 中做到这一点 但一无所获 您将如何捕获这种格式 您可以使用 before
  • 使用PM2时如何配置master进程

    我在 NodeJS 中遇到 PM2 问题 如果没有 PM2 我们总是有如下几行代码来配置主进程 if cluster isMaster master process configuration else worker process con
  • 为什么WAV格式在不同的浏览器中没有相同的mimetype?

    文件输入在 Chrome 或 Firefox 中为同一文件提供不同的 Mimetype 我有一个我想上传的 wav 文件 chrome 说是audio wav和火狐检测audio x wav 我知道这两个 mimetype 非常相似 x 代
  • Ember 未在生产环境中加载某些图像

    我有一个 Ember cli 1 13 应用程序 它在公共目录中存储了很多图像 现在 它将正确加载除特定组件中的图像之外的所有图像 该组件的调用方式如下 list item url list url name List Name price
  • 有没有办法在 Blazor 中隐藏 div?

    我正在使用 Blazor 并且想在按下导航栏切换器图标时隐藏侧边栏 列表项崩溃了 但问题是 div 仍然存在 div class page div class sidebar div class nav top row pl 4 navba
  • 无法读取未定义的属性“messageHandlers”

    我想将 JavaScript 变量传递给 Swift 我在 JavaScript 中遇到错误并进行了搜索 但没有得到任何结果 错误是 类型错误 无法读取未定义的属性 messageHandlers 任何人都可以帮忙吗 我在 Xcode 中的
  • 在 html 中创建子页面 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我有一个网站http www example com http www example com 如何为此页面创建更多子页面 即 w
  • 带条件的 Array.join()

    我该如何使用Array join 有条件的函数 例如 var name aa bb var s name join 输出是 aa bb 我想添加一个条件 仅显示不为空的单词 aa bb 您可以使用Array filter https dev
  • 如何仅使用 Javascript 减慢平滑滚动的默认速度?

    我的目标是按回车键 然后让网站滚动到底部 我已将滚动行为设置为平滑 一切都正常工作 除了平滑滚动的默认速度太快了 我怎样才能减慢它的速度 下面是我的代码 请不要使用jquery 谢谢你 document body onkeyup funct
  • 如何检测鼠标指针位于浏览器关闭按钮上时的事件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 换句话说 这是用于检测事件的 javascript jquery 代码当鼠标指针位于浏览器的关闭按钮 X按钮 上时 或者当鼠标指针进入
  • 添加 X 轴标题会导致 Uncaught RangeError:minimumFractionDigits value is out of range in Chart.js

    我正在尝试向 Chart js 图表的 X 轴添加标题 但是当我将标题属性放在 x 轴上时 出现错误 Uncaught RangeError minimumFractionDigits value is out of range 但它并没有
  • 无法在heroku上推送node.js应用程序

    我尝试在heroku 上推送我的node js 应用程序 但是 无法检测到此应用程序的默认语言 我什至尝试过heroku buildpacks set heroku nodejs 但还是无法推动 Counting objects 31 do
  • 如何解析使用YUI数据源返回的NULL值

    我正在使用 YUI 数据表和数据源来渲染我的项目之一中的数据 返回的数据恰好为NULL YUI数据源无法解析它 下面是数据源和数据表的声明代码 为了便于阅读 我将每个声明分开 列说明声明 var columnDescription key
  • 如何提交表单 onkeyup 操作

    我正在尝试保存表格onkeyup行动 我是 jQuery 新手 这可能吗 我很感激任何帮助 编辑1 保存表单意味着保存到服务器 有没有办法增加0 2秒的延迟 此代码将在 keyup 上提交您的表单 element bind keyup fu
  • 推荐的增长缓冲区的方法?

    假设我正在 Node js 中构造一个可变长度的字符串或一系列字节 buf write 的文档说 https nodejs org api buffer html buffer buf write string offset length

随机推荐