捆绑和缩小会导致角度误差:$ injector:unpr unknown provider

时间:2016-05-30 07:01:49

标签: javascript angularjs gulp bundling-and-minification angularjs-injector

我正在开发一个大型项目,之前在Web Essentials中使用了java和css的缩小,但尚未进行捆绑。

我想立即离开 WebEssentials 并使用其他内容。

我开始使用 Gulp 进行缩小并捆绑 app .js 文件的一部分,但是在加载项目时,其中一个页面出错了:

Error: $injector:unpr Unknown Provider caused by other .min.js files,

在我加入我之前,一切正常。

所有文件都以完全相同的顺序添加到路径中,因为它们应该加载到页面上。还替换了已添加到捆绑包中的那些文件。

缩小代码:

gulp.task("min:appjs", function ()
{
    return gulp.src(["!gulpfile.js", "!app/" + paths.minJs, paths.appjs], { base: "." })
        .pipe(sourcemaps.init())
            .pipe(concat(paths.concatJsAppDest), { newLine: ';' })
            .pipe(ngmin())
            .pipe(annotate())
            .pipe(uglify())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('.'));
});

我无法理解的是:我的缩小文件如何导致其他缩小文件在以前工作时被粉碎。加上项目的一页加载没有任何错误,其他页面不起作用。

我应该检查哪些想法?

1 个答案:

答案 0 :(得分:0)

好的,所以我必须处理的方法是检查哪个文件导致错误。 它似乎是来自代码中的更多 if 语句的 .js.min 文件中的一个引用了包中的文件而无法找到引用。

将该文件从捆绑包中取出并单独保存它可以解决问题。

如果有任何想法如何将其包含在捆绑中并仍然保留参考,我很乐意尝试一下。