【问题标题】:Missing code after uglifying JS IIFE with gulp-uglify使用 gulp-uglify 丑化 JS IIFE 后缺少代码
【发布时间】:2016-06-09 15:34:29
【问题描述】:

所以我开始使用 Gulp 来自动化我的工作流程,我一直在玩它,但是在执行连接和 uglify 多个文件的任务时遇到了这个问题,IIFE 中的一些代码丢失了。要连接使用gulp-usref

  // a-file.js
  (function() {
    'use strict';
    console.log('a-file');
    var variableA = 'variable a';
  })();

  // anotherfile.js
  (function() {
    'use strict';
    console.log('another-file');
    var variableB = 'variable b';
    var myFunction = function() {
      return 'return function value';
    };
  })();

   // main.js
  (function() {
    'use strict';
    console.log('Hello main');
    var variableC = 'variable c';
  })();

  // gulpfile.js
  gulp.task('useref', function() {
     return gulp.src('app/*.jade')
       .pipe(jade({pretty: true}))
       .pipe(useref())
       .pipe(gulpIf('*.js', uglify()))
       .pipe(gulpIf('*.css', cssnano()))
       .pipe(gulp.dest('dist'))
  })

当我运行任务时,文件被连接和丑化,但variableA, variableB, variableC and myFunction 没有出现,只是 console.log 的。

!function(){"use strict";console.log("a-file")}(),function(){"use strict";console.log("another-file")}(),function(){"use strict";console.log("Hello main")}();

我错过了一步?或者我该如何解决?

【问题讨论】:

  • 普通代码也会出现这种情况吗? afaik uglifiers 删除未使用的函数和变量
  • @pzmarzly 哦,我不知道,显然是这样,没有使用的变量或函数被删除了。谢谢!
  • 我已将其发布为答案,因此可以将其选为正确

标签: javascript html gulp gulp-uglify


【解决方案1】:

包括 gulp-uglify 在内的 Uglifier 删除未使用的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多