如何防止 `gulp-uglify` 移动我的全局变量?
How to prevent `gulp-uglify` from moving my global variables?
我在 gulp 设置中使用 gulp-uglify 来为生产环境模拟我的 js 代码。
我有这样的代码
var test = 1;
function getTest(myTest)
{
if(!myTest) {
return test;
}
return myTest;
}
然而,当我 运行 gulp 时,输出变为(我为了便于阅读而保持干净)
function getTest(myTest)
{
if(!myTest) {
return test;
}
return myTest;
}
var test = 1;
如何防止 gulp-uglify
更改顺序或我的全局变量。
我先连接我的文件,然后再进行 uglify。
我尝试将以下对象传递给 uglify
,但它仍在改变顺序。
uglify({ mangle: false })
uglify({ mangle: { reserved: ['test'] } })
这是依赖项列表
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1",
"gulp-concat": "^2.6.0",
"gulp-debug": "^2.1.2",
"gulp-ignore": "^2.0.1",
"gulp-minify-css": "^1.2.4",
"gulp-sass": "^2.3.2",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7"
}
这是我的 gulp 任务
gulp.task('compileJs', function () {
gulp.src(jsFiles['final'])
.pipe(sourcemaps.init())
//only uglify if gulp is ran with '--type production'
.pipe(isProduction() ? uglify() : gutil.noop())
.pipe(concat('final.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./Public/Js'));
});
将 hoist_funs
选项设置为 false
。
.pipe(uglify({
compress: {
hoist_funs: false
}
})
我在 gulp 设置中使用 gulp-uglify 来为生产环境模拟我的 js 代码。
我有这样的代码
var test = 1;
function getTest(myTest)
{
if(!myTest) {
return test;
}
return myTest;
}
然而,当我 运行 gulp 时,输出变为(我为了便于阅读而保持干净)
function getTest(myTest)
{
if(!myTest) {
return test;
}
return myTest;
}
var test = 1;
如何防止 gulp-uglify
更改顺序或我的全局变量。
我先连接我的文件,然后再进行 uglify。
我尝试将以下对象传递给 uglify
,但它仍在改变顺序。
uglify({ mangle: false })
uglify({ mangle: { reserved: ['test'] } })
这是依赖项列表
"license": "ISC",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.1",
"gulp-concat": "^2.6.0",
"gulp-debug": "^2.1.2",
"gulp-ignore": "^2.0.1",
"gulp-minify-css": "^1.2.4",
"gulp-sass": "^2.3.2",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7"
}
这是我的 gulp 任务
gulp.task('compileJs', function () {
gulp.src(jsFiles['final'])
.pipe(sourcemaps.init())
//only uglify if gulp is ran with '--type production'
.pipe(isProduction() ? uglify() : gutil.noop())
.pipe(concat('final.js'))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./Public/Js'));
});
将 hoist_funs
选项设置为 false
。
.pipe(uglify({
compress: {
hoist_funs: false
}
})