gpt4 book ai didi

node.js - 如何导入同名的 Node 模块?

转载 作者:行者123 更新时间:2023-12-03 12:34:18 25 4
gpt4 key购买 nike

这是一个 Electron 应用程序。我正在尝试导入 nodejs http模块,但做 require('http')似乎加载了stream-http取而代之的是模块。使用它的地方可能存在依赖关系。我基本上是在尝试 http.createServer()在 Electron 应用程序中。应用程序是这样设置的...

有一个BrowserWindow与属性(property):webPreferences: { nodeIntegration: true, webSecurity: false, } .这个BrowserWindow渲染器有一个 react 组件,并且在构造函数中的某处这条语句:console.log(require('http'));输出如下所示:

{request: ƒ, get: ƒ, ClientRequest: ƒ, IncomingMessage: ƒ, Agent: ƒ, …}
Agent: ƒ ()
ClientRequest: ƒ (opts)
IncomingMessage: ƒ (xhr, response, mode, fetchTimer)
METHODS: (26) ["CHECKOUT", "CONNECT", "COPY", "DELETE", "GET", "HEAD", "LOCK", ...
get: ƒ (opts, cb)
globalAgent: push../node_modules/stream-http/index.js.http.Agent {}
request: ƒ (opts, cb)
__proto__: Object

基本上这是加载 http-stream模块。如何显式加载原始 nodejs http模块?

额外问题:做 require('http')在开发者工具窗口中给了我原始的 nodejs http 模块。这是为什么?

最佳答案

你是如何生成你的应用程序的?你在哪里需要你的“http”模块?

请尝试根据本指南设置您的应用程序 https://electronjs.org/docs/tutorial/first-app#trying-this-example .

之后转到您的 main.js 文件并在上面执行

const server = require("http")
console.log(server)

我尝试了上述方法并正确获取了http服务器模块

stream-http 是 Node 原生的浏览器 http 模块的实现。它试图尽可能地匹配 Node 的 API 和行为,但有些功能不可用,因为浏览器对请求的控制几乎没有。如果您错误地安装了它,请检查您的 package.json 并尝试将其删除。

关于node.js - 如何导入同名的 Node 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com