gulp rev出现奇怪的语法错误

gulp rev出现奇怪的语法错误,gulp,gulp-useref,gulp-rev,Gulp,Gulp Useref,Gulp Rev,我在使用gulp useref之后使用gulp rev时遇到了一个奇怪的问题。我使用gulp useref将我所有的angular、jquery等连接到一个名为lib.js的文件中 这很好,但是如果我使用gulp rev将哈希附加到lib.js文件名,visual studio和浏览器会抱怨文件中存在语法错误 (FWIW,它抱怨的语句是来自jquery.js的“e.queryselectoral(“*,:x”))。但是,如果我在我的gulp任务中注释掉.pipe($.rev())行,这一切都可以

我在使用gulp useref之后使用gulp rev时遇到了一个奇怪的问题。我使用gulp useref将我所有的angular、jquery等连接到一个名为lib.js的文件中

这很好,但是如果我使用gulp rev将哈希附加到lib.js文件名,visual studio和浏览器会抱怨文件中存在语法错误

(FWIW,它抱怨的语句是来自jquery.js的“e.queryselectoral(“*,:x”))。但是,如果我在我的gulp任务中注释掉.pipe($.rev())行,这一切都可以正常工作

然而,当我使用MD5或任何哈希算法比较lib.js和lib-3654837183.js时,它们是完全相同的。那么,为什么浏览器和虚拟机会抱怨一个文件有一个名称的语法错误,而对于同一个文件却有一个不同的名称却完全没有问题呢

gulp.task("build-prod", ["inject"], function() {
    log("building production environment");
    var cssFilter = $.filter("**/*.css", { restore: true });
    var htmlFilter = $.filter("**/*.cshtml", { restore: true });
    var jsLibFilter = $.filter("**/" + config.optimized.lib, { restore: true });
    var jsAppFilter = $.filter("**/" + config.optimized.app, { restore: true });

    return gulp
        .src(config.layout.devFile)
        .pipe($.plumber())
        .pipe($.print())
        .pipe($.useref({ searchPath: "./" }))
        .pipe(cssFilter)
        .pipe($.minifyCss({ processImport: false }))
        .pipe($.rev())
        .pipe(gulp.dest(config.root))
        .pipe(cssFilter.restore)
        .pipe($.print())
        .pipe(jsLibFilter)
        .pipe($.uglify())
        .pipe($.rev()) //if I comment this out, it works
        .pipe(gulp.dest(config.root))
        .pipe(jsLibFilter.restore)
        .pipe(jsAppFilter)
        .pipe($.ngAnnotate())
        .pipe($.uglify())
        .pipe($.rev())
        .pipe(gulp.dest(config.root))
        .pipe(jsAppFilter.restore)
        .pipe($.revReplace({ replaceInExtensions: [".cshtml"] }))
        .pipe(htmlFilter)
        .pipe($.rename(config.layout.productionFileName))
        .pipe(gulp.dest(config.sharedViews));
});
以及.cshtml中的我的构建块:

<!-- build:js js/lib.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<!-- endbower -->
<!-- endbuild -->

有什么想法吗


马库斯

看来我是在骗人。名为plain lib.js的连接文件仍在引发异常;我只是没有看到它,因为我没有在VS中“在项目中包含lib.js”。 当我在VisualStudio的异常设置中为“从Javascript引发的异常”禁用中断时,一切正常

对于Internet Explorer来说,这似乎是一个众所周知的例外:

对不起,吵闹了