使用“azure-devops”持续集成将“AngularJs_1.5.11”应用程序部署到“azure-websites”后,部署出现错误:
[$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:modulerr] Failed to instantiate module app.core due to:
Error: [$injector:unpr] Unknown provider: ENV_VARS
下面是访问 AngularJS azure-website 时出现错误的屏幕截图: 还可以在 azure-devops 中找到我的构建管道的屏幕截图,它将 AngularJS 应用程序构建部署到“azure-websites” 下面的屏幕截图是我在 VSCode 中的应用程序代码 我刚刚开始开发这个使用 AngularJS_1.5.11 的新项目,所以我不知道出了什么问题。我尝试了这些链接 堆栈中 AngularJS 中的未知 ENV 提供程序,但由于我是 AngularJS 的新手,我不知道在哪里应用链接中提到的代码中的更改。
任何建议都会有很大帮助。
编辑:
@Mark 如果您查看下面的屏幕截图,您将了解我们如何使用“gulp.js、env.config.js、config.json”文件在代码中设置“ENV_VARS”
编辑1:
@Mark 请找到“config.js”文件的屏幕截图,该文件是在“./src/client/app/config.js”下使用源文件“config.json”在 gulp 任务“ng-config”中创建的
在程序中的某个位置,它试图引用注册为“ENV_VARS”的角度提供程序中定义的一个或多个成员。提供程序是在编译时可用的 AngularJS 对象(请参阅此SO答案中的“配置阶段可用的对象”表行)
我会搜索应用程序的源代码,看看该提供程序是否在其他地方进一步配置(您可以通过其名称“ENV_VARS”进行搜索),因为它可能不会与您的其他源文件一起发送。
尝试快速修复:
在 app.module.js 的第一行,将其更改为这样
angular.module('app.config', []).constant("ENV_VARS", {});
这可能会导致另一个错误,但它应该可以准确地指出是什么正在尝试访问该提供程序。我假设这要么是继承的代码,要么是来自购买的模板,因此如果可能的话,您可能需要调查其来源。