サーバレンダリング側と言語ルートパスでAngular 4アプリを作成しようとしています。 1.5.0-rc1バージョンのAngular CLIに基づいています。Angular 4ユニバーサルアプリケーションでlocalize-routerを使用すると予期しないトークンがインポートされる
問題なく動作しますが、経路の言語に関する問題は解決できません。 私は2つのアイデアを持っています:1つはパラメータのようになります。URLにはlangがありますが、localize-routerプラグインを使用する人のアドバイスはどこにでもあります。それは非常に良い見えますが、私のnpm run server
は正しく起動できません。コンソールでは、私はエラーを取得する:ここで
/home/xxx/Projects/private/angular4-cli-seed/node_modules/localize-router/src/localize-router.config.js:1
(function (exports, require, module, __filename, __dirname) { import { Inject, OpaqueToken } from '@angular/core';
は私のアプリ-routing.module.tsです:
import {NgModule, PLATFORM_ID, Inject, OpaqueToken} from '@angular/core';
import 'zone.js';
import 'reflect-metadata';
import { Routes, RouterModule } from '@angular/router';
import {AboutComponent} from './about/about.component';
import {HomeComponent} from './home/home.component';
import {LocalizeParser, LocalizeRouterModule, LocalizeRouterSettings, ManualParserLoader} from 'localize-router';
import {HttpClientModule, HttpClient} from '@angular/common/http';
import {TranslateService} from '@ngx-translate/core';
import { Observable } from 'rxjs/Observable';
import { Location } from '@angular/common';
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'about',
component: AboutComponent
}
];
export function localizeFactory(translate: TranslateService, location: Location, settings: LocalizeRouterSettings): LocalizeParser {
const browserLocalizeLoader = new ManualParserLoader(translate, location, settings, ['en', 'pl'], 'pl');
return browserLocalizeLoader;
}
@NgModule({
imports: [
RouterModule.forRoot(routes),
LocalizeRouterModule.forRoot(routes, {
parser: {
provide: LocalizeParser,
useFactory: (localizeFactory),
deps: [TranslateService, Location, LocalizeRouterSettings, HttpClient]
}
}),
],
exports: [RouterModule]
})
export class AppRoutingModule {
private static TranslateService: any;
}
あなたは、私はそれを解決することができますどのように任意のヒントを持っていますか?私はWebpack(除外リストを使用する)のためのいくつかのヒントを見つけましたが、私はWebpackをあまりよく知らないのでCLIを使用したいと思います。
おそらくhttps://github.com/angular/angular-cli/issues/7200に関連しています – estus
ありがとうございました。私はこのよく開発されたgithubの問題を分析します。ローカライズ・ルータ・ライブラリを再コンパイルすることが唯一の解決策だと思います。私はこの問題を著者に書いていますが、おそらくこれを短時間で得ることは不可能なので、このライブラリを自分自身で再コンパイルしてください。あなたはどのようなヒントを与えることができますか? "再コンパイルのプロセスからどうすれば始めることができますか?" –
アイデアがありません、申し訳ありません。自分でCLIを使用しないでください。 – estus