我是直接把互联网的node_modules复制到了内网,其他js程序能正常运行

关于ndoejs https://github.com/gslnzfq/browser-cookie-login 模块,我在互联网电脑使用这个框架的时候能正常使用,但是我在离线电脑使用的时候,却报错

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'deleteSession' of undefined
    at E:\xcy\mycheerio\node_modules\browser-cookie-login\dist\index.js:172:47
    at step (E:\xcy\mycheerio\node_modules\browser-cookie-login\dist\index.js:67:23)
    at Object.next (E:\xcy\mycheerio\node_modules\browser-cookie-login\dist\index.js:48:53)
    at fulfilled (E:\xcy\mycheerio\node_modules\browser-cookie-login\dist\index.js:39:58)

我打印了里面用到的browser,结果为undefined。 我试过了在互联网能正常运行的情况下,将互联网电脑断网,也没有出现这个错误,只是打印了net::ERR_CONNECTION_RESET
我是直接把互联网的node_modules复制到了内网,其他js程序能正常运行,为什么?

可能这个包引用了外部的资源文件,需要HTTP的请求获取,并没有统一打包进node_modules
可以在network查找哪些资源请求了外部互联网资源。

可以抓包看看,都有哪些请求。
仅从现象来看,很可能是node_modules有些包是对network有依赖的。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
根据报错信息,问题似乎出现在 browser-cookie-login 模块的 172 行,因为尝试从 undefined 变量中进行属性访问。错误消息提示无法读取 deleteSession 属性。

这可能是由于 browser-cookie-login 模块依赖于其他模块,而它们在你的内网环境中不存在而导致的。可能会导致 browser 对象未被正确初始化,从而导致调用 deleteSession 方法时出现 undefined 变量。

对于如何解决此问题,我建议你检查是否缺少处理依赖项的模块,例如可通过运行 npm install 解决。如果你已解决了所有依赖性问题,则需要进一步分析问题,以查找导致 browser 对象未初始化的原因。

以下是可能有助于分析和解决问题的示例代码:

const browserCookieLogin = require('browser-cookie-login');

const options = {
  domain: 'example.com',
  username: 'username',
  password: 'password'
};

browserCookieLogin(options)
  .then(browser => {
    // 在这里检查 `browser` 对象是否已正确初始化,例如:
    console.log(browser);
    // 然后调用 `deleteSession` 方法
    const sessionDeleted = browser.deleteSession();
    console.log(sessionDeleted);
  })
  .catch(error => console.error(error));

请注意,此代码示例可能无法精确解决你的问题,因为具体问题可能涉及到整个项目的复杂性和其他因素。但是,可尝试检查依赖项是否完整并通过调试进一步分析问题。希望这对你有所帮助。
如果我的回答解决了您的问题,请采纳!