更新到 Angular 18 后,节点包 automapper-ts 不再工作。
当尝试在全局上下文中注册 Automapper 时,
app
未定义,因此无法解析对 Angular 应用程序的引用。大家有同样问题吗
automapper.js
var automapper = (function (app) {
app.automapper = AutoMapperJs.AutoMapper.getInstance(); <--- ERROR
return app.automapper;
})(this);
这似乎是从版本 17 开始引入的新 Angular 构建器产生的问题,该构建器使用 Vite + esbuild 进行编译。
我找到的临时解决方案是通过在 angular.json 文件中将选项构建器设置为
"builder": "@angular-devkit/build-angular:browser"
."browser": "src/main.ts"
重命名为 "main": "src/main.ts"
。
还有 this pull request 应该可以解决问题,但目前我认为它永远不会被接受。