当我使用命令ng build --prod
打包Angular 8项目时,出现了这个问题。
下面的代码行说:gisModule.Map = args [0];
编译后不属于代码,几乎被删除。我的应用程序在以下阶段给出了错误。但是,当我在这段代码之后编写console.log (gisModule.Map)
时,一切正常。请问是什么原因?有更有效的解决方案吗?
该代码的第一个版本
import { gisModule } from 'gisModule';
...
...
loadModules(["esri/map"]).then(function (args: any) {
gisModule.Map = args[0];
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
})
代码编译后,
ze.then(() => {
Object(o.loadModules)(["esri/map"]).then(function (e) {
He().bootstrapModuleFactory(Be).catch(e => console.error(e))
})
}
仅添加console.log,
loadModules(["esri/map"]).then(function (args: any) {
gisModule.Map = args[0];
//Just adding this line,is work well.
console.log(gisModule.Map);
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
})
添加console.log后,输出为
Ue.then(() => {
Object(i.loadModules)(["esri/map"]).then(function (e) {
s.Map = e[0],
console.log(s.Map),
Fe().bootstrapModuleFactory(ze).catch(e => console.error(e))
})
}
我的gisModule.ts在这里
export class gisModule{
static set Map(value: any) {
_my_global_variable = value;
}
}