gpt4 book ai didi

angularjs - Typescript AngularJS 服务无法在 WebDeploy 到 Azure 上运行

转载 作者:行者123 更新时间:2023-12-03 04:37:12 25 4
gpt4 key购买 nike

我对用 typescript 编写的 AngularJS 服务有疑问。当我使用 Visual Studios WebDeply 将我的应用程序发布到 Azure Web 服务器时,我收到一条错误消息,告诉我

Error: Unknown provider: localeServiceProvider <- localeService

当我在本地计算机上发布此内容时,它工作正常。我发现的唯一区别是,在我的本地计算机上,应用程序加载 .js 文件,而在 Azure 服务器上,它加载 .js.map 文件。我想这可能就是问题所在。在本地计算机上引用的服务 (.js) 如下所示:

/// <reference path='../_all.ts' />
var blackbird;
(function (blackbird) {
'use strict';

/**
* Services that persists and retrieves localized strings from Web Api.
*/
var LocaleService = (function () {
function LocaleService($http, $log) {
this.$http = $http;
this.$log = $log;
}
LocaleService.prototype.injection = function () {
return [
'$http',
'$log',
LocaleService
];
};

LocaleService.prototype.get = function (successcb) {
this.$http({ method: 'GET', url: '/api/locales' }).success(function (data, status, headers, config) {
successcb(data);
}).error(function (data, status, headers, config) {
this.$log.warn(data, status, headers, config);
});
};
return LocaleService;
})();
blackbird.LocaleService = LocaleService;
})(blackbird || (blackbird = {}));

Azure 服务器上引用的服务 (.js) 如下所示:

/// <reference path='../_all.ts' />
var blackbird;
(function (blackbird) {
'use strict';

/**
* Services that persists and retrieves localized strings from Web Api.
*/
var LocaleService = (function () {
function LocaleService($http, $log) {
this.$http = $http;
this.$log = $log;
}
LocaleService.prototype.injection = function () {
return [
'$http',
'$log',
LocaleService
];
};

LocaleService.prototype.get = function (successcb) {
this.$http({ method: 'GET', url: '/api/locales' }).success(function (data, status, headers, config) {
successcb(data);
}).error(function (data, status, headers, config) {
this.$log.warn(data, status, headers, config);
});
};
return LocaleService;
})();
blackbird.LocaleService = LocaleService;
})(blackbird || (blackbird = {}));
//# sourceMappingURL=LocaleService.js.map

据我所知,除了

之外,它们看起来几乎相同

//# sourceMappingURL=LocaleService.js.map

早些时候,我将 js.map 文件添加到项目中,以确保它们上传到服务器,因为默认情况下它们不会上传到服务器,并且在发布应用程序时会出现询问它们的错误。有人对如何解决这个问题有任何建议吗?

最佳答案

当主 Angular 应用程序模块在浏览器下载服务脚本之前启动时,会发生此错误。在创建主应用模块之前,请确保浏览器已加载 LocaleService

这是假设 LocaleService.js 在部署后可用(正如您所看到的,情况似乎如此)。如果没有,请确保 js 文件已添加到您的 Visual Studio 项目中。

关于angularjs - Typescript AngularJS 服务无法在 WebDeploy 到 Azure 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19537341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com