我正在使用Angular 6。 每件事都可以在ng serve和ng build中正常工作,但是使用ng build--prod,地图无法打开并且具有此类型R不是控制台中的构造函数。
IM USNING 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"
}
];
我最近偶然发现了同样的错误,原来该错误是由提前 (AOT( 编译(默认情况下为生产部署启用(引起的
一种解决方案是禁用AOT:
ng build --prod --aot false
另一种解决方案是等到此错误在Agm-Direction
库中得到解决
以下是解决此问题的更改列表:
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}/**/*`])