我有我試圖在電子中運行的默認模板“ionic-pwa”應用程式,但無法使其正常作業(或根本無法正常作業)。
使用時ion-router,ion-nav從不加載任何內容,因此我的頁面保持白色。
當我將任何 div 添加到帶有一些文本的渲染中時,它會顯示出來,所以我認為電子加載正確(因為控制臺中沒有錯誤 - 但誰知道)。
這 app-root.tsx
import { Component, h } from '@stencil/core';
@Component({
tag: 'app-root',
styleUrl: 'app-root.css',
shadow: true
})
export class AppRoot {
routeWillChange($event) {
console.warn($event);
}
render() {
return [
// <div>test</div> <-- this shows up when uncommented
<ion-app>
<ion-router useHash={false} onIonRouteWillChange={$event => this.routeWillChange($event)} onIonRouteDidChange={$event => this.routeWillChange($event)}>
<ion-route url='/' component='app-home' />
<ion-route-redirect from='*' to='/' />
<ion-nav />
</ion-router>
</ion-app>
];
}
}
如何解決這個問題?
uj5u.com熱心網友回復:
(這可能不完全正確,但為了理解起見:)對于任何遇到此問題的人,根據https://www.npmjs.com/package/electron-serve這個問題存在,因為路由器推送路由狀態通過https://developer.mozilla.org/en-US/docs/Web/API/History_API這不適用于電子,具體取決于推送的狀態。
電子服務攔截并通過“加載”到主模塊來解決這個問題。
所以我所做的只是安裝電子服務并稍微修改我的主模塊。
const serve = require('electron-serve');
const loadURL = serve({
directory: path.join(__dirname, 'www')
});
const { BrowserWindow} = require('electron');
let win;
function createWindow () {
win = new BrowserWindow({
width: 800,
height: 600
});
loadURL(win);
}
// ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/312544.html
上一篇:在PipeRxJS中處理條件
