2017-01-03 3 views
0

ich in Winkel 2 eine Anwendung mache und wenn AOT Compilation Durchführung wie in Angular Dokumentation https://angular.io/docs/ts/latest/cookbook/aot-compiler.html Schritte erwähnt, ich bin nach Fehlern bekommen:angular2-Datentabelle Abhängigkeitsproblem während Rollup Bundle-Datei machen

Fehler: ' DataTableModule‘von node_modules nicht exportiert/angular2-Datatable/index.js

ist hier mein Code:

main.ts

import { platformBrowser } from '@angular/platform-browser'; 
import { AppModuleNgFactory } from '../aot/app/app.module.ngfactory'; 
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory); 

app.module.ts

import { NgModule } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { AppComponent } from './app.component'; 
import { DataTableModule } from "angular2-datatable"; 
import { FormsModule, ReactiveFormsModule, FormBuilder } from  '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { RouterModule } from '@angular/router'; 
import { IndexComponent } from './index.component'; 
import { RegisterationFormComponent } from "./registration/registeration-form.component"; 
import { StaffListingComponent } from './company/staff-listing.component'; 
import {TranslateModule} from 'ng2-translate'; 

@NgModule({ 

imports:  [ BrowserModule,DataTableModule, FormsModule, HttpModule, TranslateModule.forRoot(), 
     RouterModule.forRoot([ 
     { path: '', component: IndexComponent}, 
     { path: 'my-staff', component: StaffListingComponent}, 

    ], { useHash: true })], 
    declarations: [ AppComponent, IndexComponent, StaffListingComponent, DataFilterPipe ], 
    providers: [AuthenticationService], 
    bootstrap: [ AppComponent ] 
}) 

export class AppModule { } 

systemjs.config.js

(function (global) { 
    System.config({ 
    paths: { 
    'npm:': 'node_modules/' 
}, 
map: { 
    // our app is within the app folder 
    app: 'app', 

    // angular bundles 
    // other libraries 
    'rxjs':      'npm:rxjs', 
    'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js', 
    'ng2-translate':'npm:ng2-translate', 
    'lodash': 'npm:lodash/lodash.js', 
    'angular2-datatable': 'npm:angular2-datatable', 
    'angular2-infinite-scroll':'npm:angular2-infinite-scroll', 
    }, 
packages: { 
    app: { 
    main: './main.js', 
    defaultExtension: 'js' 
    }, 
    rxjs: { 
    defaultExtension: 'js' 
    }, 
    'ng2-translate': { 
     main:'./bundles/ng2-translate.umd.js', 
     defaultExtension: 'js' 
    }, 
    'lodash': { 
    defaultExtension: 'js' 
    }, 
    'angular2-datatable': { 
    main: './index.js', 
    defaultExtension: 'js' 
    }, 
    'angular2-infinite-scroll': { 
     main:'./angular2-infinite-scroll.js', 
     defaultExtension: 'js' 
    } 
} 
}); 

Rollup-config.js

import rollup  from 'rollup' 
import nodeResolve from 'rollup-plugin-node-resolve' 
import commonjs from 'rollup-plugin-commonjs'; 
import uglify  from 'rollup-plugin-uglify' 

export default { 
entry: 'app/main.js', 
dest: 'dist/build.js', // output a single application bundle 
sourceMap: false, 
format: 'iife', 
plugins: [ 
    nodeResolve({jsnext: true, module: true}), 
    commonjs({ 
    include: 'node_modules/rxjs/**', 
    }), 
    uglify() 
] 
} 

angular2-Datenbank Abhängigkeit funktioniert gut ohne AOT Zusammenstellung. Aber Fehler beim Rollup geben. Kann mir bitte jemand helfen, dieses Problem zu lösen.

Antwort

0

Ich habe dieses Problem, indem sie folgende Änderungen in Rollup-Datei config.js

Rollup-config.js

import rollup  from 'rollup' 
import nodeResolve from 'rollup-plugin-node-resolve' 
import commonjs from 'rollup-plugin-commonjs'; 
import uglify  from 'rollup-plugin-uglify' 

export default { 
    entry: 'app/main.js', 
    dest: 'dist/build.js', // output a single application bundle 
    sourceMap: false, 
    format: 'iife', 
    plugins: [ 
     nodeResolve({jsnext: true, module: true}), 
     commonjs({ 
    include: ['node_modules/rxjs/**','node_modules/angular2-datatable/**','node_modules/lodash/**'], 
    }), 
    uglify() 
    ] 
} 

gelöst