无法从 Angular2 中的节点模块文件夹导入 ts 文件

Unable to import ts file from node-modules folder in Angular2

我已经在我的 Angular 2 项目中安装了 Google Map places。

npm install angular2-google-map-auto-complete

由于找不到模块而出现错误:

谁能帮我指定相同的路径?

尝试了以下组合:

../../directives/googleplace.directive
../../../directives/googleplace.directive
../../../../directives/googleplace.directive
../../directives/googleplace.directive
../node-modules/angular2-google-map-auto-complete/directives/googleplace.directive
../../angular2-google-map-auto-complete/directives/googleplace.directive

没有按预期工作。

更新:我发现了拼写错误,但运气不好

试试这个-

import {GoogleplaceDirective} from '../directives/googleplace.directive';

[请注意-它的指令s最后是's'。]

并在您的组件中,添加这样的指令-

directives: [GoogleplaceDirective],

看看这是否有帮助。


编辑:

可以这样用-

import {GoogleplaceDirective} from '../node_modules/angular2-google-map-auto-complete/directives/googleplace.directive';

已在 VScode-

中验证


编辑 2:

第 1 步: 复制 googleplace.directive.ts 文件并将其保存在您的应用程序文件夹中

Step2:这样写appcomponent.ts-

import { Component } from '@angular/core';
import {GoogleplaceDirective} from './googleplace.directive';

@Component({
  selector: 'my-app',
  directives: [GoogleplaceDirective],
  template: `<h1>My First Angular 2 App</h1>
  <input type="text" [(ngModel)] = "address"  (setAddress) = "getAddress($event)" googleplace/>
  `

})
export class AppComponent { 
  public address : Object;
       getAddress(place:Object) {       
           this.address = place['formatted_address'];
           var location = place['geometry']['location'];
           var lat =  location.lat();
           var lng = location.lng();
           console.log("Address Object", place);
       }
}

Step3:在index.html

中添加脚本标签
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>

输出结果:

希望这会有所帮助。