是否可以使用 Chrome 扩展在浏览器上 运行 Node.js 模块
Is it possible to run Node.js modules on browser using Chrome extension
对于我的大学项目,我正在创建一个 Chrome 扩展来为用户在其浏览器上访问的每个 URL 执行某些检查和验证。我的目标是在使用 Chrome 扩展名检测到可疑站点时提醒用户。因此,为此目的,我需要使用某些 NPM 模块(例如 whois-json, get-ssl-certificate and so on. So, since Node.js cannot run on the browser directly, I tried using Browserify 模块)将此 Node.js 代码(例如 require 和模块执行)转换为纯 Javascript 捆绑文件。因此,当我尝试使用 Chrome 扩展 运行 这个 Javascript 包时,我得到一个错误:
"net.connect" is not a function
有什么办法可以解决这个错误吗?或者我可以使用另一种解决方案来替代 运行 我的 Chrome 扩展上的 Node.js 模块的 Browserify。
不,您将无法使用在 Chrome 扩展中使用 server-specific 代码的 Node.js 模块。不过,您在这里有几个选择。
您可以寻找使用浏览器 API 的替代模块并改用它们。
您可以寻找 public REST APIs 来实现您的 Node.js 模块正在做的事情。
您可以使用现有的 Node.js 代码创建您自己的 REST API,然后与您的 client-side Chrome 中的代码进行交互延期。
对于我的大学项目,我正在创建一个 Chrome 扩展来为用户在其浏览器上访问的每个 URL 执行某些检查和验证。我的目标是在使用 Chrome 扩展名检测到可疑站点时提醒用户。因此,为此目的,我需要使用某些 NPM 模块(例如 whois-json, get-ssl-certificate and so on. So, since Node.js cannot run on the browser directly, I tried using Browserify 模块)将此 Node.js 代码(例如 require 和模块执行)转换为纯 Javascript 捆绑文件。因此,当我尝试使用 Chrome 扩展 运行 这个 Javascript 包时,我得到一个错误:
"net.connect" is not a function
有什么办法可以解决这个错误吗?或者我可以使用另一种解决方案来替代 运行 我的 Chrome 扩展上的 Node.js 模块的 Browserify。
不,您将无法使用在 Chrome 扩展中使用 server-specific 代码的 Node.js 模块。不过,您在这里有几个选择。
您可以寻找使用浏览器 API 的替代模块并改用它们。
您可以寻找 public REST APIs 来实现您的 Node.js 模块正在做的事情。
您可以使用现有的 Node.js 代码创建您自己的 REST API,然后与您的 client-side Chrome 中的代码进行交互延期。