使用quote_键缩小javascript不起作用

使用quote_键缩小javascript不起作用,javascript,google-chrome-extension,gulp,gulp-uglify,Javascript,Google Chrome Extension,Gulp,Gulp Uglify,我正在使用gulp缩小javascript MyJS有如下对象 var a={"v":5} 但缩小后,它会将我的对象转换为以下内容: var a={v:5}// but I don't want it to remove quotes in keys var uglify = require('gulp-uglify'); gulp.task('build1',function() { gulp.src(['../ext/app/background.js']).on('error

我正在使用gulp缩小javascript

MyJS有如下对象

var a={"v":5}
但缩小后,它会将我的对象转换为以下内容:

var a={v:5}// but I don't want it to remove quotes in keys
var uglify = require('gulp-uglify');

gulp.task('build1',function() {
    gulp.src(['../ext/app/background.js']).on('error', function(e){
        console.log("error:",e)
    }).pipe(uglify({mangle:true,quote_keys:true})).on('error', function(e){
        console.log("error1:",e)
    }).pipe(gulp.dest('../ext/app'));
});
因为我在chrome扩展中使用这个javascript(基本上我想删除)

我的吞咽任务如下:

var a={v:5}// but I don't want it to remove quotes in keys
var uglify = require('gulp-uglify');

gulp.task('build1',function() {
    gulp.src(['../ext/app/background.js']).on('error', function(e){
        console.log("error:",e)
    }).pipe(uglify({mangle:true,quote_keys:true})).on('error', function(e){
        console.log("error1:",e)
    }).pipe(gulp.dest('../ext/app'));
});

这是因为在使用
gulp uglify
包时,您将
quote_键作为选项传递,而不是将其包含在gulpfile中的
output
选项中。试试这个,你会得到想要的输出

 gulp.task('build1',function() {
    gulp.src(['a.js']).on('error', function(e){
        console.log("error:",e)
    }).pipe(uglify({output:{quote_keys:true}})).on('error', function(e){
        console.log("error1:",e)
    }).pipe(gulp.dest('app'));
   });

{v:5}
{v:5}
之间没有区别。因为在第一种情况下,
v
也将是字符串。链接错误与您的案例无关。它是关于
a[key]
vs
a[“key”]
case的