javascript - 为什么 gulp-uglify 不修改我的变量名?

标签 javascript gulp gulp-uglify

我有以下任务:

var uglify = require('gulp-uglify');

gulp.task('scripts', function () {
  gulp.src('./src/scripts/*.js')
    .pipe(concat('main.js'))
    .pipe(uglify())
    .pipe(gulp.dest('./dist'));
});

以及以下 2 个 javascript 文件,test1.js:

var testOneOutput = 'function one';
console.log(testOneOutput);

和test2.js

var testTwoOutput = 'function two';
console.log(testTwoOutput);

并且所有目录都设置正确。虽然当我运行任务时,我没有迹象表明丑化是否有效。虽然串联效果很好。我错过了什么吗?

最佳答案

在您的脚本中,testOneOutputtestTwoOutput 是全局变量,默认情况下 gulp-uglify 只会破坏局部变量。

将您的代码放入一个函数中,您会看到一些修饰。

function go() {
  var testOneOutput = 'function one';
  console.log(testOneOutput);
}

关于javascript - 为什么 gulp-uglify 不修改我的变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30514233/

相关文章:

javascript - Angular 简单验证不起作用

gulp - 尝试使用不基于根文件夹的 VSCode 运行 gulp 任务

javascript - Gulp-Uglify: $(void 0) 缓存 DOM 时

javascript - 源映射行为——如何在缩小之前查看原始 javascript

reactjs - gulp 构建时出现奇怪的 gulp-uglify minifier 'file.isNull()' 错误

javascript - 运行NUXT.js和Axios时如何避免代码重复?

javascript - react-router 没有渲染任何东西

JavaScript : how to embed HTML code, 如何引用?

javascript - 调用函数时出现异步完成错误,或者调用默认函数时回调不是函数

javascript - Globbing 无法与带有 jsx 文件的 gulp eslint 一起使用