2016-08-12 2 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

Вы можете использовать @angular/platform-browser-dynamic из версии RC5 Angular2.

  • Установка модулей с помощью 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

но что проблема с этим 'загрузчиком (App, [ HTTP_PROVIDERS, APP_ROUTER_PROVIDERS, {обеспечивает: LocationStrategy, useClass: HashLocationStrategy} ])', так как до сих пор работает нормально, только теперь его создание этой проблемы –

+0

Это устаревший с RC5. См. Этот документ: https://angular.io/docs/ts/latest/cookbook/rc4-to-rc5.html. –

+0

Хорошо, но теперь я получаю эту ошибку: 'Uncaught TypeError: __webpack_require __ (...) не является функцией' для 'styles: [String (require ('../../../ static/v4/angle/scss/app.scss '))], ' –

0

platform_browser_dynamic_1.platformBrowserDynamic is not a function.

Это просто означает, что Angular2 не признает эту функцию. Как сказал Тьерри, вам необходимо правильно доработать до 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-updates: https://www.npmjs.com/package/npm-check-updates.

Typing NCU показывает мне, что нужно обновлять пакеты и NCU -u получит latests версии для каждого пакета.

После этого, если вы сделали это правильно, и если вы правильно настроили новые Angle2 RC5 NgModules, ваше приложение должно работать так же, как и раньше.

Надеюсь, это поможет.

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