Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在没有DI错误的情况下缩小著名的角度?_Javascript_Angularjs_Famo.us_Famous Angular - Fatal编程技术网

Javascript 如何在没有DI错误的情况下缩小著名的角度?

Javascript 如何在没有DI错误的情况下缩小著名的角度?,javascript,angularjs,famo.us,famous-angular,Javascript,Angularjs,Famo.us,Famous Angular,我遇到了一些问题与著名的角度缩小 我昨天提交的几个PRs试图解决这个问题,但这些似乎没有解决这个问题 如果没有切碎,一切都会按预期进行 使用缩小功能构建时,从我的应用程序模块中删除对“著名的.角度”的依赖, 该应用程序优雅地降级为仅角度应用程序,因此布局被破坏,但底层角度应用程序按预期工作,没有错误 当使用缩小功能构建时,应用程序模块依赖于“著名的.角度”, 应用程序根本不加载,出现以下错误: Uncaught Error: [$injector:modulerr] Failed to inst

我遇到了一些问题与著名的角度缩小

我昨天提交的几个PRs试图解决这个问题,但这些似乎没有解决这个问题

如果没有切碎,一切都会按预期进行

使用缩小功能构建时,从我的应用程序模块中删除对“著名的.角度”的依赖, 该应用程序优雅地降级为仅角度应用程序,因此布局被破坏,但底层角度应用程序按预期工作,没有错误

当使用缩小功能构建时,应用程序模块依赖于“著名的.角度”, 应用程序根本不加载,出现以下错误:

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)
这在核心angular文件-
angular.js
中, 在其他情况下,它确实正确地缩小了尺寸。 所以我不知道为什么在我的应用程序模块中包含“著名的.有棱角的”, 这就引入了错误

有人知道这里有什么不对劲吗


问题演示:

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

我之前向著名的angular提交了这两个PR,认为我已经捕获了所有
$inject
场景:

事实证明,我错过了第三个,现在已经提交了一个补丁:

在我上面的问题中,我说
函数位置hashbanginhtml5url(appBase,hashPrefix){/*…*/}
In
angular/angular.js
是未正确缩小的函数。 这是不正确的,而罪魁祸首实际上是著名的angular/src/scripts/directions/fa input.js中的一个提供者


对于好奇的人来说,这里是我用来解决上述问题的过程。 作为一个额外的奖励,我碰巧发现了一种在小型AngularJs应用程序中调试依赖注入错误时使用的附加技术

事实证明,我在上面()链接的技术并不总是正确工作

最后的工作是遍历执行堆栈,直到到达
invoke()
函数,如该技术中所述。然后,不要只检查
fn
,而是查看开发人员工具中的
范围变量
选项卡,检查作为函数的每个范围成员

这就撒下了更大的网,导致需要检查的东西更多;
但在这种情况下是必要的,我怀疑可能也适用于其他情况。

它是否与此帖子有关[this][1][1]:@SridharChidurala是的,它确实与DI有关。仅供参考,我正在使用我的应用程序代码<代码>著名。angular似乎不需要它,因为its函数被适当地包装。这是我一直没有弄明白的。从Sridhar提供的链接中找到ng annotate@Noypi我已经在使用ng annotate了。无论如何,我手头有问题。它原来是著名angular代码中的一个bug,我刚刚提交了一个补丁。
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