我的代码如下:
define('identity', function () {
// LOT OF CONSTANTS AND USAGE HAS BEEN REMOVED FOR BREVITY
'use strict';
var CREATE_ACCOUNT = 'CreateAccount';
var ACCOUNT = 'Account';
var CONNECT = 'Connect';
var SWITCH = 'Switch';
var FB = 'FB';
var PIPE_SEPARATOR = ' | ';
var DOT_SEPARATOR = '.';
var COMMA_SEPARATOR = ', ';
function concatenateWithDotSeparater(array) {
return concatenateWithSeparator(array,DOT_SEPARATOR);
}
function concatenateWithPipeSeparater(array) {
return concatenateWithSeparator(array,PIPE_SEPARATOR);
}
function concatenateWithCommaSeparater(array) {
return concatenateWithSeparator(array, COMMA_SEPARATOR);
}
function concatenateWithSeparator(array, separator) {
return array.join(separator);
}
return {
signUp: {
facebookConnect : concatenateWithDotSeparater([CREATE_ACCOUNT, FB, CONNECT]),
}
};
}); 本质上,我有很多重复的常量,需要连接起来才能产生实际的值。因此,我创建了常量来保存重复的值,然后通过函数将它们连接起来。
但是,当我尝试使用gulp-minify版本1.0.0缩小JS时,结果是: return{signUp:{facebookConnect:e("CreateAccount","FB","Connect")}}
它注入了实际的值。我如何防止这种情况发生?
我喜欢得到这样的输出: return{signUp:{facebookConnect:e(s,d,e)}}
我正在使用minify,比如:
.pipe(minify({
ext: {
src: '.js',
min: '-min.js'
}
}))请帮帮忙。
发布于 2017-06-29 23:28:42
你可以避免重命名一些变量,如果你设置选项mangle,你应该设置你想要保存的名称列表不可更改。在幕后,gulp-minify数据包使用uglify-es数据包。有关详细文档,请参阅Look at it。
请尝试使用此选项:
.pipe(minify({
ext: {
src: '.js',
min: '-min.js'
},
mangle: { reserved: ['CREATE_ACCOUNT', 'ACCOUNT', 'CONNECT'] // etc
}))https://stackoverflow.com/questions/44828754
复制相似问题