Dependency injection Can';t在Angular2中使用外部依赖项

Dependency injection Can';t在Angular2中使用外部依赖项,dependency-injection,typescript,angular,Dependency Injection,Typescript,Angular,我用创建了一个Angular2项目,但当我尝试安装外部依赖项时,编译器不会将文件夹从节点模块移动到dist/vendor 这就是我所做的: $ npm install --save angular2-google-maps $ ng serve 我的组件文件: import {Component} from 'angular2/core'; import {ANGULAR2_GOOGLE_MAPS_DIRECTIVES} from 'angular2-google-maps/core'; @

我用创建了一个Angular2项目,但当我尝试安装外部依赖项时,编译器不会将文件夹从节点模块移动到dist/vendor

这就是我所做的:

$ npm install --save angular2-google-maps
$ ng serve
我的组件文件:

import {Component} from 'angular2/core';
import {ANGULAR2_GOOGLE_MAPS_DIRECTIVES} from 'angular2-google-maps/core';

@Component({
  selector: 'contact',
  templateUrl: 'app/components/contact/contact.html',
  styleUrls: ['app/components/contact/contact.css'],
  providers: [],
  directives: [ANGULAR2_GOOGLE_MAPS_DIRECTIVES],
  pipes: []
})
export class Contact {
  lat: number = 51.678418;
  lng: number = 7.809007;
  constructor() {}
}
当我运行ng SERVICE并转到web浏览器时,会出现以下错误:

加载资源失败:服务器响应状态为404(未找到)


如指南中所述:

  • 你有没有按照下面的方式加入脚本

  • 您是否按如下方式注入了脚本

bootstrap(AppComponent,[ANGULAR2_GOOGLE_MAPS_PROVIDERS])

编译器将任何文件夹从
src
移动到
dist
。我在
src
中创建了一个名为
vendor
的带有外部库的新文件夹,因此当编译器将此文件夹移动到
dist
时,
src/vendor
dist/vendor
合并,外部库现在可以访问


我还添加了
参考。现在它工作了

我也遇到了同样的问题,通过在system-config.ts中的包配置中添加以下行解决了这个问题:

/** User packages configuration. */
const packages: any = {
    'angular2-google-maps': { defaultExtension: 'js' }
};

问题是我无法添加引用,因为编译器将文件夹从节点_模块移动到dist/vendor(dist是公共目录)。是的,我添加了ANGULAR2\u谷歌地图供应商。无论如何,谢谢你。