解析大字符串以调用Node中的JS函数
Parse large strings to invoke JS functions in Node
这是我第一次尝试构建Node模块;目的是解析文件(通常是HTML文件),查找特定的匹配项,并对这些匹配项进行处理。
我使用fs
模块到readdir
,找到该目录中的每个文件,然后将每个文件传递给readFile
,它将文件的内容作为字符串返回。
我想要实现的是搜索文件的内容(或长字符串)的特定匹配,获得任何相关参数,然后将文件及其参数传递给一个函数,该函数将进行其他操作。在我看来,只在HTML中查找数据属性是有意义的。例如,如果我要搜索这个字符串:
<a href="/">
<img class="site-logo" src="..." data-option="site-logo true" />
</a>
我想找到data-option
并将其与site-logo true
和文件名一起传递给函数作为参数。
在我的搜索中,我遇到了使用indexOf()
或search()
方法并传递字符串数组来匹配,但我担心对于较大的文件,这会变得非常阻塞(最终我将学会使用async
模块…),所以我想知道so社区是否有任何聪明的建议。
我应该用像cheerio这样的东西吗?如果是这样,我如何将它用于其他文件类型(非html)?也许是正则表达式?
谢谢你的帮助!
您应该真正使用像cheerio这样的东西来处理HTML内容。对于非html资源,它取决于格式,npm上可能有模块来处理其他格式。如果没有,regex可能是您的下一个最佳选择。
相关文章:
- Node中的基本html引擎
- 使用Node中的Q promise库对值数组顺序调用/执行相同的函数;并返回带有结果的新数组/集合
- 如何从Node中的图像url将图像上传到谷歌云存储
- 如何通过node中的请求返回JSON.js(从javascript)
- Node中的全局变量在哪里.js隐藏
- 如何动态访问 Node 中的全局变量
- 嵌套在 Node 中的循环.js与 Mocha 测试框架一起
- 使用 Socket.io 将套接字传递到 Node 中的模块.js
- 有没有办法从node中的脚本访问调试信息.js和/或一般的javascript
- 为什么我的代码会断开Node中的Socket.io连接
- 如何在Node中的两个文件之间共享模块私有数据
- 如何在解析Node中的响应之前更改/删除/忽略http标头
- JSON或Object Literal作为Node中的配置文件
- Node中的多个工厂
- Node中的依赖注入和接口
- 解析大字符串以调用Node中的JS函数
- 如何从Node中的文本文件中删除换行空格
- 使用& # 39;这个# 39;在Node中的对象中
- 在Node中的应用程序所需的文件中使用应用程序var
- 如何将mongoDB对象传递给Javascript/JS.Node中的所有原型函数