2017-02-20 15 views
1

Я создаю приложение, которое должно иметь ленивый загруженный модуль. Все работает нормально в режиме dev. Когда я пытаюсь подготовить prod dist, у меня проблемы с ленивым загруженным модулем.Lazy загруженный модуль, не работающий в режиме prod при использовании mgechev angular2-seed

Развертывание на прод:

  1. Я пытаюсь использовать эту угловую семя: https://github.com/mgechev/angular-seed.
  2. Изменить APP_BASE в файле seed.config.ts: APP_BASE = argv ['base'] || '/ Угловое Семя-мастер';
  3. команда сборки: НПМ запустить build.prod.aot (аналогичная проблема с build.prod)
  4. копирования файлов в Apache-8.5.4-кот \ WebApps \ угловой семеноводства мастера \

App начинают нормально, но когда я пытаюсь открыть ленивый загруженный модуль я получаю следующее сообщение об ошибке:

__zone_symbol__error 
: 
Error: Uncaught (in promise): TypeError: System.import is not a function TypeError: System.import is not a function at t.loadFactory (http://127.0.0.1:8080/angular-seed-master/js/app.js?1487588806074:15:566) at t.load (http://127.0.0.1:8080/angular-seed-master/js/app.js?1487588806074:15:151) at t.loadModuleFactory (http://127.0.0.1:8080/angular-seed-master/js/app.js?1487588806074:14:8371) at t.load (http://127.0.0.1:8080/angular-seed-master/js/app.js?1487588806074:14:8103) at e.project (http://127.0.0.1:8080/angular-seed-master/js/app.js?1487588806074:12:21324) 

Я был в состоянии воспроизвести эту проблему только путем преобразования about.module из семени в ленивый загруженный модуль. После этого изменения, перечисленные ниже about.module ленив загружен в режиме Dev:

приложение-routing.module.ts (добавить ленивый путь нагрузки)

@NgModule({ 
    imports: [ 
    RouterModule.forRoot([ 
     { path: 'about', loadChildren: 'app/about/about.module#AboutModule' }, 
     /* define app module routes here, e.g., to lazily load a module 
     (do not place feature module routes here, use an own -routing.module.ts in the feature instead) 
     */ 
    ]) 
    ], 
    exports: [RouterModule] 
}) 
export class AppRoutingModule { } 

о-routing.module.ts (изменить путь от 'о' до '', потому что теперь относительно корневой маршрутизатор)

import { NgModule } from '@angular/core'; 
import { RouterModule } from '@angular/router'; 
import { AboutComponent } from './about.component'; 

@NgModule({ 
    imports: [ 
    RouterModule.forChild([ 
     { path: '', component: AboutComponent } 
    ]) 
    ], 
    exports: [RouterModule] 
}) 
export class AboutRoutingModule { } 

app.module.ts (удалить импорт AboutModule)

import { NgModule } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { APP_BASE_HREF } from '@angular/common'; 
import { HttpModule } from '@angular/http'; 
import { AppComponent } from './app.component'; 
import { AppRoutingModule } from './app-routing.module'; 

import { HomeModule } from './home/home.module'; 
import { SharedModule } from './shared/shared.module'; 

@NgModule({ 
    imports: [BrowserModule, HttpModule, AppRoutingModule, HomeModule, SharedModule.forRoot()], 
    declarations: [AppComponent], 
    providers: [{ 
    provide: APP_BASE_HREF, 
    useValue: '<%= APP_BASE %>' 
    }], 
    bootstrap: [AppComponent] 

}) 
export class AppModule { } 

Какие изменения необходимо сделать для семян, чтобы обеспечить ленивую загрузку?

ответ

0

Угловое зерно Производственная сборка объединяет приложение как модуль commonjs. В настоящее время производство не поддерживает ленивую загрузку, но они говорят, что это в дорожной карте.

Вы можете увидеть пост, связанный с этим здесь: https://github.com/mgechev/angular-seed/issues/864#issue-154456682

я столкнулся с теми же проблемами с моим приложением. На самом деле жаль, и я надеюсь, что они скоро добавят эту поддержку.

+0

Я пробовал «ленивую» ветку, она все еще не работает, поэтому я был вынужден использовать семена webpack: https://github.com/AngularClass/angular2-webpack-starter – mrh

+0

Я также загрузил семя webpack и, похоже, хорошо , У меня еще не было возможности портировать мое предыдущее приложение. –

 Смежные вопросы

  • Нет связанных вопросов^_^