agm方向构建类型r错误

时间:2018-07-02 11:22:55

标签: javascript angularjs google-maps angular6

我正在使用Angular 6。 使用ng serve&ng build一切正常,但是使用ng build --prod时,地图无法打开,并且在控制台中具有 type r不是构造函数

使用agm方向https://github.com/explooosion/Agm-Direction/

  <agm-map [latitude]="lat" [longitude]="lng" [zoom]="13">
      <agm-direction [waypoints]="waypoints" [origin]="origin" [destination]="destination">
      </agm-direction>
  </agm-map>


 this.origin = { lat: 18.544405, lng: 73.735341 };
    this.destination = { lat: 18.544405, lng: 73.735341 };
    this.waypoints = [
      {
        location: "18.532667,73.8276983"
      },
      {
        location: "18.533654,73.8235143"
      },
      {
        location: "18.523258, 73.762949"
      }
    ];

1 个答案:

答案 0 :(得分:1)

我最近偶然发现了相同的错误,原来是Ahead-of-Time (AOT) Compilation默认用于生产部署启用的

一种解决方案是禁用 AOT

ng build --prod --aot false

另一种解决方案是等到Agm-Direction library

中解决此错误之前

以下是解决此问题的更改列表:

1)通过从tsconfig.es5.json删除以下内容来禁用FESM

"flatModuleOutFile": "agm-direction.js",
"flatModuleId": "agm-direction"

2)通过替换行(用于gulpfile.js任务)来修改copy:build

return gulp.src([`${buildFolder}/**/*`, `!${buildFolder}/**/*.js`])

return gulp.src([`${buildFolder}/**/*`])