browserify 不工作。给出未定义的 process.versions.node

browserify is not working. gives undefined process.versions.node

我正在尝试将 browserify 与 got & cheerio 一起使用。我在 bundle.js 中找不到任何参考。我也试过request而不是got,我也遇到了同样的问题

nodejsMajorVersion = Number(process.versions.node.split('.')[0]);

在上面的代码中bundle.js,process.version的值为undefined。如果我手动将其设置为 12,则会弹出以下错误。

Cannot read property 'Resolver' of undefined
    at Object.86.dns (bundle.js:19864)

我试过 npm install resolve。正如某处提到的解决方案一样,但即使这样也行不通。我该如何让它发挥作用?

Browserify可以为浏览器打包很多模块,但不是全部。 got 在浏览器中不起作用,因为它必须执行诸如 dns 查找之类的操作,而这在浏览器中是不可能完成的。

您将不得不使用不同的 http 请求库。 node-fetch 库将在网络浏览器中使用内置的 Fetch API,因此它是一个不错的选择。