2016-08-12 54 views
0

一切工作正常&突然不知道爲什麼我收到此錯誤:platform_browser_dynamic_1.bootstrap不是函數+角2

TypeError: platform_browser_dynamic_1.bootstrap is not a function

下面是我的組件:

import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core'; 
import { Http, HTTP_PROVIDERS, Headers, Response } from '@angular/http'; 
import { Observable } from 'rxjs/Rx'; 
import { ContactService } from '../../services/contactService'; 
// Initialize jquery 
declare var $:JQueryStatic; 

@Component({ 
    selector: 'login', 
    pipes: [], 
    providers: [ContactService], 
    directives: [], 
    styles: [String(require('../../../../../static/v4/angular/scss/login.scss')),], 
    templateUrl: '../../../../../templates/v4/angular/login/login.html' 
}) 
export class Login { 
    @ViewChild('spreadsheetTable') el:ElementRef; 
    public statctUrl = STATIC_URL; 
    constructor(private contactService: ContactService) {} 

    ngOnInit() { 
    } 
} 

編輯:這裏是我的引導文件main.ts(來自RC4 - > RC5):

import {LocationStrategy, HashLocationStrategy} from '@angular/common'; 
import {bootstrap, platformBrowserDynamic} from '@angular/platform-browser-dynamic'; 
import {HTTP_PROVIDERS} from '@angular/http'; 

import {APP_ROUTER_PROVIDERS} from './app/app.routes'; 
import {AppModule} from './app/app.module'; 

platformBrowserDynamic().bootstrapModule(AppModule, [ 
    HTTP_PROVIDERS, 
    APP_ROUTER_PROVIDERS, 
    { provide: LocationStrategy, useClass: HashLocationStrategy } 
]) 
.catch(err => console.error(err)); 

回答

0

您可以使用Angular2的RC5版本中的@angular/platform-browser-dynamic

  • 使用NPM

    npm install @angular/{core,common,compiler,platform-browser,platform-browser-dynamic} --save 
    
  • 進口和使用的模塊

    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
    import { AppModule } from './app/app.module'; 
    
    platformBrowserDynamic().bootstrapModule(AppModule); 
    
+0

但這種'自舉什麼問題(應用程序,[ HTTP_PROVIDERS, APP_ROUTER_PROVIDERS, {提供:LocationStrategy,useClass:HashLocationStrategy} ])'因爲到現在爲止,它正在很好,只是現在它創建這個問題 –

+0

這是用RC5棄用。請參閱此文檔:https://angular.io/docs/ts/latest/cookbook/rc4-to-rc5.html。 –

+0

好吧,但現在我得到這個錯誤:'未捕獲的TypeError:__webpack_require __(...)不是函數'樣式:[字符串(需要('../../../ static/v4/angular/scss/app.scss'))],' –

0

platform_browser_dynamic_1.platformBrowserDynamic is not a function.

此安裝模塊只是意味着Angular2不承認此功能。正如Thierry所說,您需要正確升級到Angular2 RC5。 這意味着您需要更新package.json文件中的所有必需軟件包。

的package.json文件與上次的版本正在尋找這樣的:

"dependencies": { 
    "@angular/common": "2.0.0-rc.5", 
    "@angular/compiler": "2.0.0-rc.5", 
    "@angular/core": "2.0.0-rc.5", 
    "@angular/forms": "0.3.0", 
    "@angular/http": "2.0.0-rc.5", 
    "@angular/platform-browser": "2.0.0-rc.5", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.5", 
    "@angular/router": "3.0.0-rc.1", 
    "@angular/router-deprecated": "2.0.0-rc.2", 
    "@angular/upgrade": "2.0.0-rc.5", 

    "angular2-in-memory-web-api": "0.0.15", 

    "systemjs": "0.19.36", 
    "core-js": "^2.4.0", 
    "reflect-metadata": "^0.1.3", 
    "rxjs": "5.0.0-beta.11", 
    "zone.js": "^0.6.12" 
    }, 

你可以做亨利說,並手動更新所有的包,或者您可以使用一個工具,作爲好。我推薦使用npm-check-updateshttps://www.npmjs.com/package/npm-check-updates

打字NCU顯示我的包需要更新的東西,NCU -u將得到latests版本爲每個包。然後,如果你做得對,如果你確實配置了新的Angular2 RC5 NgModules,你的應用應該像以前一樣工作。

希望這會有所幫助。

相關問題