javascript - 使用 gulp-uglify 丑化 JS IIFE 后缺少代码

标签 javascript html gulp gulp-uglify

所以我开始使用 Gulp 来自动化我的工作流程,我正在尝试它,但是当执行连接和丑化多个文件的任务时,我遇到了 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 和 myFunction 不出现,只出现 console.log。

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

我错过了一个步骤吗?或者我该如何解决这个问题?

最佳答案

Uglifiers,包括 gulp-uglify,删除未使用的代码。

关于javascript - 使用 gulp-uglify 丑化 JS IIFE 后缺少代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730378/

相关文章:

javascript - 在 gulp.rename() 调用中使用早期 gulp.src 的文件名

带有 gulp-typescript 的 Angular 2 提前编译器

javascript - 如何使用 Emotion SDK for Javascript 批量处理视频文件

javascript - 添加新行,将日期选择器绑定(bind)到列以奇怪的方式工作

html - float div 中 hr 宽度的奇怪 IE7 错误

javascript - JQuery 检查用户是否在文本区域内输入了特定的字母或单词

javascript - 使用 Angular 2 响应式(Reactive)表单通过单个复选框提交多个值

javascript - 事件链接在 Bootstrap 上不起作用

html - 如何删除居中输入搜索标签和选择标签之间的边距

node.js - 使用 .bash_profile 和 "postinstall"脚本避免 NPM 全局安装