本文將從多個方面對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 打包後請求地址錯誤進行了詳細闡述,並提供了解決方法,希望對開發者有所幫助。
原創文章,作者:QKWAR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/374276.html