【问题标题】:gulp-uglify not workinggulp-uglify 不工作
【发布时间】:2016-07-08 15:54:01
【问题描述】:

这是我的仓库 https://github.com/shellwe/QA_WP_Template

如果你只需要看代码sn-p;在这里

gulp.task('uglify', function() {
      return gulp.src('js/all.min.js')
        .pipe(uglify())
        .pipe(gulp.dest('js/'));
});

我正在运行“gulp uglify”,但出现以下错误。

events.js:160
      throw er; // Unhandled 'error' event
      ^
 Error
    at new JS_Parse_Error (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:1534:18)
    at js_error (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:1542:11)
    at croak (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2089:9)
    at token_error (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2097:9)
    at unexpected (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2103:9)
    at semicolon (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2123:56)
    at simple_statement (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2314:73)
    at eval (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2183:19)
    at eval (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2136:24)
    at eval (eval at <anonymous> (C:\Users\sh3240\Documents\My Web Sites\wordpress\wp-content\themes\QA_WP_Template\node_modules\uglify-js\tools\node.js:28:1), <anonymous>:2904:23)

我看到的大多数示例在一个进程中都有 concat 和 uglify,但由于 concat 部分正在工作,我将它们分开以显示这一点。我知道 uglify 有问题,我只是不知道我做错了什么。

【问题讨论】:

    标签: javascript gulp gulp-uglify


    【解决方案1】:

    你得到的错误并不能解释太多......但是,根据 gulp-uglifynpm.js 上的小“文档”,

    为了帮助正确处理节点流的错误情况,本项目建议使用pump

    您可以阅读gulp-uglifypump

    所以,我尝试了以下方法:

    # grab pump
    npm install pump --save-dev
    

    然后,在 gulpfile.js 中,我执行了以下操作:

    gulp.task('uglify2', function (cb) {
        pump([
            gulp.src('./js/all.min.js'),
            uglify(),
            gulp.dest('./js/')
        ],
        cb
        );
    });
    

    我得到的错误,顺便说一下,比你得到的错误要好得多,如下:

    问题似乎出在191 线上,这表明您的代码 有问题,而不是您的gulp 任务

    【讨论】:

    • 感谢您的注释,我在他们的网站上看到他们使用了泵,但在示例中我发现它没有泵。我将尝试先修复代码,然后再考虑添加泵。我刚刚下载了最新版本的 Bootstrap 4 并保存在下划线 js 里面。我还没有自己做。不过感谢您的帮助!我将不得不考虑解决该错误。
    • 没问题!您不一定必须使用 pump,但正如您所看到的,它可以准确地显示问题出在哪里......我从未使用过 WordPress,所以我真的不知道发生了什么然而,在那个 JS 文件中,我可以看到它使用了一些较新的 JavaScript 语法,这就是 uglify 可能不喜欢它的原因 [?];事实上,为自己创建一个仅在 JavaScript 中显示一些文本的简单脚本文件,然后通过运行您当前的任务将其丑化 - 我刚刚做了并且它工作了......这表明您的 有问题all.min.js 文件
    • 感谢 evvelss32,这些 JS 都与 wordpress 无关,部分原因是我有 bootstrap 4 alpha,我想知道那里是否有一些代码会导致问题,所以我想知道如果它在源文件中使用 ES2015,我们应该自己将其转换为标准 js。
    • 是的,我很好奇自己转换 JS 文件是否有帮助,我什至尝试使用 gulp-babel - babeljs.io - 这只是 的另一个包gulp - npmjs.com/package/gulp-babel - 转换了新的 JS 语法,但我仍然遇到错误......你可以检查一下并自己尝试看看它给你带来了什么错误,但它基本上是相同的行/语句它不喜欢......它可以引导 4,特别是考虑到它仍然是 alpha......
    • @evvelss32 我正在使用泵进行错误跟踪,但我收到了Error: task completion callback called too many times 这个错误。你能告诉我我该如何解决这个问题。你遇到过这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多