2016-11-07 58 views
0

我想要以AoT方式編譯我的angular 2項目。不過,我有以下問題。ngj後彙總commonjs

這裏是源代碼:

/// <reference path="../../typings/index.d.ts" /> 
import { Injectable, Inject } from '@angular/core'; 
import { Http } from '@angular/http'; 
import { AppConfig, APP_CONFIG } from '../app.config'; 
import 'rxjs/add/operator/toPromise'; 
import * as bluebird from 'bluebird'; 

@Injectable() 
export class EventsAPIService { 
    private ECI_END_POINT: string; 

    constructor(private http: Http, @Inject(APP_CONFIG) config: AppConfig) { 
     this.ECI_END_POINT = config.ECI_END_POINT; 
    } 

    getEvents() { 
     console.log(typeof bluebird, bluebird); 
     return new bluebird((resolve: any, reject: any) => { 
      this.http.get(`${this.ECI_END_POINT}/events/all`).toPromise().then((res: any) => { 
       resolve(res.json().data); 
      }).catch((err: Error) => { 
       console.error(err); 
       reject(err); 
      }); 
     }); 
    } 
} 

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' 
//paths are relative to the execution path 
export default { 
    entry: 'dist/src/main.js', 
    dest: 'www/scripts/main.js', // output a single application bundle 
    sourceMap: true, 
    sourceMapFile: 'www/scripts/app.min.js.map', 
    format: 'umd', 
    moduleName: 'ECIAPP', 
    plugins: [ 
    nodeResolve({jsnext: true, main: true, module: true}), 
    commonjs({ 
     include: ['node_modules/rxjs/**'] 
    }), 
    // uglify() 
    ] 
} 

我能夠通過NGC然後彙總編制項目,然而,彙總變成藍鳥模塊{.. 。,default:'actual bluebird'},這樣當getEvents被調用時,它會拋出一個錯誤。

任何人都可以請幫忙嗎?

回答

1

allowSyntheticDefaultImports:在tsconfig.json中爲true修復它