javascript - 是否可以使用 Chrome 扩展在浏览器上运行 Node.js 模块

标签 javascript node.js google-chrome google-chrome-extension browserify

对于我的大学项目,我正在创建一个 Chrome 扩展程序来对用户在其浏览器上访问的每个 URL 执行某些检查和验证。我的目标是在使用 Chrome 扩展程序检测到可疑网站时提醒用户。因此,为此,我需要使用某些 NPM 模块,例如 whois-json , get-ssl-certificate等等。所以,由于 Node.js 不能直接在浏览器上运行,我尝试使用 Browserify模块将此 Node.js 代码(如 require 和模块执行)转换为纯 Javascript 包文件。因此,当我尝试使用 Chrome 扩展程序运行此 Javascript 包时,出现如下错误:

"net.connect" is not a function

有什么可能的方法来修复这个错误吗?或者我可以使用另一种解决方案来替代 Browserify 在 Chrome 扩展上运行我的 Node.js 模块。

最佳答案

不,您将无法在 Chrome 扩展程序中使用使用服务器特定代码的 Node.js 模块。不过,您在这里有几个选择。

  1. 您可以寻找使用浏览器 API 的替代模块并改用它们。

  2. 您可以寻找实现您的 Node.js 模块正在执行的操作的公共(public) REST API。

  3. 您可以使用现有的 Node.js 代码创建您自己的 REST API,然后从您的客户端 Chrome 扩展程序与其交互。

关于javascript - 是否可以使用 Chrome 扩展在浏览器上运行 Node.js 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48960202/

相关文章:

Javascript 创建对象属性值数组

node.js - AWS4 S3 POST 签名计算失败示例

javascript - 如何通过扩展在 Chrome 中点击时将用户重定向到新链接?

javascript - 当我在 Chrome 上而不是在 Firefox 上时,为什么滚动条会发生变化

javascript - jQuery - 打开 div onLoad

javascript - 使用 Javascript 从 HTML 表中获取字段

javascript - 在 JavaScript 中哪里添加可见性切换?

Javascript - 接收和格式化 HTML

c# - 获取图像以形式显示 - dll 文件

html - Bootstrap 4 alpha 6 导航栏在谷歌浏览器上无法正确显示