2017-11-02 18 views
3

角度5でJitCompilerFactoryを使用するには? JitCompilerFactory角度5

しかし、角度5ファイル内

が移動JitCompilerFactory角度4 '@角度/コンパイラの中

は、エクスポートに角度4で

この私のコード "角度/プラットフォーム - ブラウザ - ダイナミック/ SRC/compiler_factory @"

import {CommonModule} from '@angular/common' 
import {Compiler, NgModule} from '@angular/core' 
import {JitCompilerFactory} from '@angular/compiler' 
import {DynamicComponent} from './dynamic.component' 
import {DynamicComponentModule} from './dynamic.module' 

export function compilerFactory() { 
    return new JitCompilerFactory([{useDebug: false, useJit: true}]).createCompiler() 
} 

@NgModule({ 
    imports: [ 
     CommonModule, 
    ], 
    declarations: [ 
     DynamicComponent 
    ], 
    exports: [ 
     DynamicComponent 
    ], 
    providers: [ 
     DynamicComponentModule, 
     {provide: Compiler, useFactory: compilerFactory} 
    ], 
}) 
export class DynamicModule { 
} 

これはAngular 5でどのように動作させるのですか?

答えて

1

あなたは非常に最新バージョン(5.1.0-beta.2)へ@angular/platform-browser-dynamicを更新してから工場を取得する必要があります: プラットフォームブラウザ - ダイナミック:

@angular/platform-browser-dynamic 

第三ベータ版、すなわち10のバグフィックスと一つの特徴を、もたらします。輸出JitCompilerFactory(#20478) (d7a727c)は、#20125

次に、あなた自身が、あなたはインジェクタがここで仕事をやらせるために必要なコンパイラを作成しないでください。

import {Compiler, COMPILER_OPTIONS, CompilerFactory, NgModule} from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import {JitCompilerFactory} from '@angular/platform-browser-dynamic'; 

import { AppComponent } from './app.component'; 

export function createCompiler(compilerFactory: CompilerFactory) { 
    return compilerFactory.createCompiler(); 
} 

@NgModule({ 
    imports: [BrowserModule], 
    bootstrap: [AppComponent], 
    declarations: [AppComponent], 
    providers: [ 
    {provide: COMPILER_OPTIONS, useValue: {}, multi: true}, 
    {provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS]}, 
    {provide: Compiler, useFactory: createCompiler, deps: [CompilerFactory]} 
    ] 
}) 
export class AppModule {} 

申し訳ありませんが、明らかに作業はまだ進行中です:

クレジットはそれらの男に行きます:https://github.com/angular/angular/issues/20639#issuecomment-347149868

それは私がそれを助けることを願っています:)乾杯!

+0

はい私は角の問題について20125&20639のスレッドを作成します。これはビルドオプティマイザのないフラグですfalse flag –

+0

ああ、私の答えは役に立つと思っていました:)論文の問題を開いてくれてありがとう、 Angularで怒っている人から読むと、少し寂しく感じました。とにかく、私は昨晩このアプローチを使って作業をしました。 – Ghis

+0

AOTビルドで作業しましたか?コンパイラが私の動的なモジュール/コンポーネントからデコレータを取り除いているようです。 –

関連する問題