WebWorkerでangular2アプリケーションを実行しています。見た目では、すべてが期待どおりに動作していますが、DOMでは何も起こっていないようです。たとえば、アプリケーションの読み込み中にプリローダーを表示しますが、実際のアプリケーションUIに置き換えられることはありません。角2のWebワーカー - UIが実行されていない
<my-app>Loading...</my-app>
ときAppModuleの負荷は、何も私はすべてのコンポーネントとサービスは、私は、バックグラウンドワーカー内部で期待どおりに動作して見ていても...私のアプリでレンダリングしていない...全体のアプリは罰金を実行しています - UIはありません。
import { NgModule } from '@angular/core';
import { HttpModule, XSRFStrategy } from '@angular/http';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { WorkerAppModule } from '@angular/platform-webworker';
import { WORKER_APP_LOCATION_PROVIDERS } from '@angular/platform-webworker';
import { AppComponent } from './app.component';
import { NoXSRFStrategy } from './common/backends/XSRFStrategies';
@NgModule({
imports: [
BrowserModule,
HttpModule,
FormsModule,
routing,
WorkerAppModule
],
declarations: [
AppComponent
],
providers: [
{ provide: XSRFStrategy, useClass: NoXSRFStrategy },
WORKER_APP_LOCATION_PROVIDERS
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor() { }
}
私main.tsで
UI_THREAD_CHANNEL = 'UI_THREAD_CHANNEL'
bootstrapWorkerUi('/webworker-loader.js').then((hWnd) => {
// register methods the WebWorker needs to run on the UI thread.
let brokerFactory: ServiceMessageBrokerFactory = hWnd.injector.get(ServiceMessageBrokerFactory);
let broker = brokerFactory.createMessageBroker(UI_THREAD_CHANNEL, false);
broker.registerMethod('redirect', [PRIMITIVE], (href: string) => {
window.location.href = href;
});
});
私webworker-main.tsで
import { platformWorkerAppDynamic } from '@angular/platform-webworker-dynamic';
import { AppModule } from './app.module';
const platform = platformWorkerAppDynamic();
platform.bootstrapModule(AppModule);
すべては私がwebworkerを使用していないときに私は期待通りに動作します。私は本当にこれが私が信じていることに迫っています...ただ私が逃しているものを見つけることができません。私はロードしていないものがあるか、ルーティングに関することを知らないものがあると思われます。