首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有DI错误的情况下最小化famous.angular?

如何在没有DI错误的情况下最小化famous.angular?
EN

Stack Overflow用户
提问于 2014-09-03 02:49:09
回答 1查看 350关注 0票数 0

当我被缩小的时候,我遇到了一些著名的问题。

我昨天提交的几份报告试图解决这个问题,但这些似乎并没有解决这个问题。

当建造时,没有减少,一切都按预期工作。

当使用小型化构建,但从我的应用程序模块中删除对“famous.angular”的依赖时,应用程序只会优雅地退化为角,因此布局是有边界的,但是底层的角应用程序可以像预期的那样工作,没有错误。

当使用小型化构建并且应用程序模块依赖于“著名的.角”时,该应用程序根本不加载,有以下错误:

代码语言:javascript
复制
Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:modulerr] Failed to instantiate module famous.angular due to:
Error: [$injector:unpr] Unknown provider: t
http://errors.angularjs.org/1.2.23/$injector/u...<omitted>...2)

通过使用this method,我能够确定哪些函数没有正确地缩小,并触发角的依赖注入:

代码语言:javascript
复制
function LocationHashbangInHtml5Url(appBase, hashPrefix) { /* ... */ }

这是在核心角文件- angular.js,它确实缩小了正确在其他情况下。因此,我不知道为什么当我在我的应用程序模块中包含'famous.angular‘时,这会导致错误。

有人知道这里出了什么问题吗?

问题演示:

代码语言:javascript
复制
git clone git@github.com:bguiz/browserify-gulp-starter.git
cd browserify-gulp-starter
npm install famous
bower install --save angular angular-route famous-angular
# edit gulpoptions.js
# appName: 'app',
# appFolder: './src-famousangular/app/',
gulp serve-dist
EN

回答 1

Stack Overflow用户

发布于 2014-09-03 04:58:02

我将这两个PR提交给了以前著名的“角”,认为我已经捕捉到了所有的$inject场景:

原来,我错过了第三个补丁,现在提交了一个修补程序:

在上面的问题中,我说function LocationHashbangInHtml5Url(appBase, hashPrefix) { /* ... */ } In angular/angular.js是没有正确缩小的函数。这是不正确的,而罪魁祸首实际上是famous-angular/src/scripts/directives/fa-input.js中的提供者。

对于好奇的人来说,这是我用来解决上述问题的过程。由于增加了额外的,我碰巧发现了一种额外的技术,用于调试缩小的AngularJs应用程序中的依赖注入错误。

事实证明,我链接到的技术( https://stackoverflow.com/a/25126490/194982 )并不总是正确工作。

最终起作用的是遍历执行堆栈,直到我们到达invoke()函数,就像在该技术中所描述的那样。然后,不要只检查fn,而是查看开发人员工具中的Scope Variables选项卡,检查每个作用域成员,这是一个函数。

这就形成了一个更广泛的网络,并导致了更多需要检查的东西;但在这种情况下是必要的,我怀疑其他方面也可能适用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25635466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档