加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – “未捕获错误:[$injector:unpr]”部署后有角度

发布时间:2020-12-17 09:09:28 所属栏目:安全 来源:网络整理
导读:我有一个相当简单的Angular应用程序,在我的dev机器上运行正常,但是在部署它之后失败了这个错误消息(在浏览器控制台中): 未捕获错误:[$ injector:unpr] http://errors.angularjs.org/undefined/$injector/unpr?p0=tProvider - t - $ http - $ compile 除
我有一个相当简单的Angular应用程序,在我的dev机器上运行正常,但是在部署它之后失败了这个错误消息(在浏览器控制台中):

未捕获错误:[$ injector:unpr] http://errors.angularjs.org/undefined/$injector/unpr?p0=tProvider < - t < - $ http < - $ compile 除此之外没有其他消息。它发生在页面第一次加载时。 我运行ASP.NET MVC5,Angular 1.2RC3,并通过git推送到Azure。 谷歌没有打开任何有趣的东西。 有什么建议么? 编辑: 我使用TypeScript,并使用$ inject变量定义我的依赖关系,例如:

export class DashboardCtrl {

    public static $inject = [
        '$scope','$location','dashboardStorage'
    ];

    constructor(
        private $scope: IDashboardScope,private $location: ng.ILocationService,private storage: IDashboardStorage) {
    }
}

我相信应该(或打算)绕过局部变量重命名在缩小过程中出现的问题,并可能导致此错误。

也就是说,它显然与缩小过程有关,当我在我的dev机器上设置BundleTable.EnableOptimizations = true时,我可以重现它。

如果你关注你的链接,它告诉你,$ injector的错误导致无法解决你的依赖。这是一个常见的问题与角度当javascript被缩微/丑陋/无论你在做什么生产。

问题是当您有控制器;

angular.module("MyApp").controller("MyCtrl",function($scope,$q) {
  // your code
})

缩小将$ scope和$ q更改为随机变量,不会告诉angular要注入什么。解决方案是声明你的依赖如下:

angular.module("MyApp")
  .controller("MyCtrl",["$scope","$q",$q) {
  // your code
}])

这应该解决你的问题。

只是重新迭代,我所说的一切都在错误消息提供给你的链接。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读