首页 > 编程知识 正文

electron-egg打包后请求地址错误解决方法用法介绍

时间:2023-11-20 23:46:49 阅读:290170 作者:NBZC

本文将从多个方面对electron-egg打包后请求地址错误进行详细阐述,并给出解决方法。

一、electron-egg打包后请求地址错误的表现

在使用 electron-egg 进行开发时,通常会在 localhost 上启动一个本地服务进行开发调试,但是当用 electron-packager 进行打包后,突然发现之前能够正常请求的地址全部都请求不到了,而且没有报错信息。

二、可能出现请求地址错误的原因

1、静态资源路径问题

将 egg.js 项目打包成 exe 格式的应用程序后,所有的静态资源都会被打包在一起,因此需要设置正确的静态资源路径。

app.use(static(path.join(app.baseDir, 'app/public'), {
  prefix: '/public/'
}));

2、跨域问题

因为是在本地启动的 localhost 地址与打包后的本地应用程序的本地路径是不一致的,导致跨域问题。

解决方案:

app.config.security = {
  csrf: false,
  domainWhiteList: ['http://localhost:7001', 'http://localhost:8080']
};
app.config.cors = {
  origin: ctx => ctx.get('origin'),
  credentials: true,
  allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS'
}

3、服务地址设置问题

因为 egg.js 服务是在 localhost 启动的,如果在客户端请求时访问绝对路径,需要使用接口全路径,并且需要在窗口的 console 中打印出端口,以便于调试。

const baseUrl = process.env.NODE_ENV === 'production' ? 'http://localhost:8888/' : 'http://localhost:7001/'
console.log('baseUrl:', baseUrl)

三、电脑本地环境设置方法

为了避免出现请求地址错误和跨域问题,需要在电脑本地 hosts 文件中进行设置。

方法:

1、用管理员身份打开 hosts 文件

2、添加一条规则

127.0.0.1 localhost

3、保存文件并重启应用即可

四、总结

本文从打包后请求地址错误的表现、可能出现请求地址错误的原因和电脑本地环境设置方法三个方面对 electron-egg 打包后请求地址错误进行了详细阐述,并提供了解决方法,希望对开发者有所帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。