gpt4 book ai didi

angular - 如何使用带有Angular 9的Electron's Node服务器发出http请求。net.request({})无法读取undefined属性

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

我正在尝试通过Angular Electron应用程序向外部服务器创建http GET请求。由于CORS政策,我不能使用Angular的HttpClientModule,而不得不求助于使用Electron的内置节点服务器(对吗?)。
因此,在此处https://www.electronjs.org/docs/api/net和此处https://www.electronjs.org/docs/api/client-request上查看Electron的文档之后,我应该能够使用net.request功能,但是我似乎无法使其正常工作。
这是我要执行的代码,但我正在获取Cannot read property request of undefined,这可能是由于net的初始化方式(或未初始化):

import { Injectable } from '@angular/core';
import { net } from 'electron'

@Injectable({
providedIn: 'root'
})
export class AuthService {

constructor(
) {
}

checkUserStatus(authUser) {
const request = net.request({
method: 'GET',
protocol: 'https:',
hostname: 'github.com',
port: 443,
path: '/'
})
}
}
我是Electron的新手。有什么我想念的东西或者我可以做些不同的事情吗?

最佳答案

我遇到了同样的问题,我通过将webSecurity中的index.js设置为false来解决了该问题

    const win = new BrowserWindow({
...
webPreferences: { webSecurity: false }
});
你可以读到它 here
应该将其视为临时解决方法,最好的解决方案是在服务器端处理CORS问题。
就个人而言,当可以使用 net时,我会避免使用Node的 HttpClientModule
话虽如此,这是在应用程序的“Angular ”部分中导入 Electron 特定成分的方法
import * as electron from "electron";
..

@Injectable()
export class AuthService {
net = electron.remote.require("net");
..

关于angular - 如何使用带有Angular 9的Electron's Node服务器发出http请求。net.request({})无法读取undefined属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62577064/

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