Angular 2 无法解析 [object Object] 的所有参数
Angular 2 Can't resolve all parameters for [object Object]
当我尝试转到使用 angular2-google-maps 模块的组件时,它给我这个错误:
Can't resolve all parameters for [object Object] (?). ; Zone: angular ; Task: Promise.then ;
我看不出这是哪个对象,也看不出错误发生的原因。此外,这仅在我使用 webpack 生成 app.bundle.
时发生
我要加载的组件是:
import { Component, OnInit} from '@angular/core';
import {userInfo} from '../data/userInfo';
import { Http, Response } from '@angular/http';
import {Router} from '@angular/router';
import {ANGULAR2_GOOGLE_MAPS_DIRECTIVES, ANGULAR2_GOOGLE_MAPS_PROVIDERS} from 'angular2-google-maps/core';
import {ProjectNameComponent} from '../project-name-component/projectName.component';
import {LocationService} from './location.service';
@Component({
selector: 'location',
templateUrl: 'app/location-component/location.component.html',
styleUrls: ['app/location-component/location.component.css', 'app/app.css'],
directives: [ANGULAR2_GOOGLE_MAPS_DIRECTIVES, ProjectNameComponent],
providers: [ANGULAR2_GOOGLE_MAPS_PROVIDERS],
inputs: ['locationShow'],
})
我的 systemjs.config.js 文件是:
var map = {
'app': 'app', // 'dist',
'@angular': 'node_modules/@angular',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'rxjs': 'node_modules/rxjs',
'angular2-datatable': 'node_modules/angular2-datatable',
'angular2-google-maps': 'node_modules/angular2-google-maps',
'lodash': 'node_modules/lodash/lodash.js',
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
'angular2-google-maps': { main: 'core.js', defaultExtension: 'js' },
'angular2-datatable': { defaultExtension: 'js' },
};
我的 main.ts 文件如下所示:
import 'core-js';
import 'reflect-metadata';
import 'zone.js/dist/zone';
import {enableProdMode} from '@angular/core';
enableProdMode();
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import {APP_ROUTER_PROVIDERS} from './app.router';
import { Http, HTTP_PROVIDERS, Response} from '@angular/http';
bootstrap(AppComponent, [APP_ROUTER_PROVIDERS, HTTP_PROVIDERS]).catch(err => console.error(err));
显然,Angular 2 无法识别依赖项。 ANGULAR2_GOOGLE_MAPS_PROVIDERS
和 ANGULAR2_GOOGLE_MAPS_DIRECTIVES
未正确引用。
我用于 Angular 2 的 Google 地图版本是旧的。我会推荐任何想要在他的 Angular 站点中实施 Google 地图的人,去 version 0.12.0 并且它应该没有任何引用问题。
当我尝试转到使用 angular2-google-maps 模块的组件时,它给我这个错误:
Can't resolve all parameters for [object Object] (?). ; Zone: angular ; Task: Promise.then ;
我看不出这是哪个对象,也看不出错误发生的原因。此外,这仅在我使用 webpack 生成 app.bundle.
时发生我要加载的组件是:
import { Component, OnInit} from '@angular/core';
import {userInfo} from '../data/userInfo';
import { Http, Response } from '@angular/http';
import {Router} from '@angular/router';
import {ANGULAR2_GOOGLE_MAPS_DIRECTIVES, ANGULAR2_GOOGLE_MAPS_PROVIDERS} from 'angular2-google-maps/core';
import {ProjectNameComponent} from '../project-name-component/projectName.component';
import {LocationService} from './location.service';
@Component({
selector: 'location',
templateUrl: 'app/location-component/location.component.html',
styleUrls: ['app/location-component/location.component.css', 'app/app.css'],
directives: [ANGULAR2_GOOGLE_MAPS_DIRECTIVES, ProjectNameComponent],
providers: [ANGULAR2_GOOGLE_MAPS_PROVIDERS],
inputs: ['locationShow'],
})
我的 systemjs.config.js 文件是:
var map = {
'app': 'app', // 'dist',
'@angular': 'node_modules/@angular',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'rxjs': 'node_modules/rxjs',
'angular2-datatable': 'node_modules/angular2-datatable',
'angular2-google-maps': 'node_modules/angular2-google-maps',
'lodash': 'node_modules/lodash/lodash.js',
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
'angular2-google-maps': { main: 'core.js', defaultExtension: 'js' },
'angular2-datatable': { defaultExtension: 'js' },
};
我的 main.ts 文件如下所示:
import 'core-js';
import 'reflect-metadata';
import 'zone.js/dist/zone';
import {enableProdMode} from '@angular/core';
enableProdMode();
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import {APP_ROUTER_PROVIDERS} from './app.router';
import { Http, HTTP_PROVIDERS, Response} from '@angular/http';
bootstrap(AppComponent, [APP_ROUTER_PROVIDERS, HTTP_PROVIDERS]).catch(err => console.error(err));
显然,Angular 2 无法识别依赖项。 ANGULAR2_GOOGLE_MAPS_PROVIDERS
和 ANGULAR2_GOOGLE_MAPS_DIRECTIVES
未正确引用。
我用于 Angular 2 的 Google 地图版本是旧的。我会推荐任何想要在他的 Angular 站点中实施 Google 地图的人,去 version 0.12.0 并且它应该没有任何引用问题。