Gulp 最小化 js 时出错

Gulp error when minimize js

我决定问,因为我已经 2 天试图解决这个问题。我对这个任务有点 n00b 运行ner.

我正在使用 Gulp 和 Slush 使用此生成器: https://www.npmjs.com/package/slush-webapp

当我 运行 ´gulp 发球时一切正常,我没有问题。

但是当我 运行 ´gulp´ 时,在 javascript minimice 进程中,我得到这个错误: http://pastebin.com/4mPq2jEU

据我所知,CSS 正在运行并且已最小化。图像也工作正常。

当我打开 chrome 的控制台时,我看到一个错误日志,说一些关于 "undefined function"

试图解决在 .js 文件(jquery 插件)开头添加的句子

'use strict'; 

也尝试使用闭包之类的,但没有用。

有什么帮助吗?谢谢,

豪尔赫

您在应用程序文件夹中放入了一些不符合 JSHint 规则的第三方库。这就是为什么您会得到那个错误堆栈的原因。您可以做的事情:

  1. 打开您的 Gulpfile,并从您的构建中删除 JSHint 任务:

    gulp.task('build', ['lint', 'html', 'images', 'fonts', 'misc']);
    
    /* to */
    
    gulp.task('build', ['html', 'images', 'fonts', 'misc']);
    
  2. 从您的 lint 任务中排除第三方脚本:

    gulp.task('lint', function () {
        var jshint = require('gulp-jshint');
    
        return gulp.src(['app/scripts/**/*.js', '!app/script/path/to/script/that/fails.js'])
            .pipe(jshint())
            .pipe(jshint.reporter('default'));
    }); 
    
  3. 将不符合 JSHint 规则的文件放到另一个文件夹。

我猜您很可能不会拥有自己的符合 JSHint 标准的文件,因此我建议 1. 快速尝试一下,但请稍微阅读一下依赖项管理和 linting ;-)