Javascript 从终端发出咕噜声实现常量

Javascript 从终端发出咕噜声实现常量,javascript,gruntjs,uglifyjs,grunt-contrib-uglify,Javascript,Gruntjs,Uglifyjs,Grunt Contrib Uglify,我想使用grunt从终端获取const name,并在uglify中使用它。这就是我希望发生的事情: uglify: { options: { sourceMap: true, compress: { global_defs: { <myConst>: false } } }, u

我想使用grunt从终端获取const name,并在uglify中使用它。这就是我希望发生的事情:

    uglify: {
        options: {
          sourceMap: true,
          compress: {
               global_defs: {
                 <myConst>: false
             }
          }
        },
        ugly: {
            src: 'beautiful.js',
            dest: 'ugly.js'
        }
    }
uglify:{
选项:{
sourceMap:true,
压缩:{
全球定义:{
:错
}
}
},
丑陋的:{
src:'beautiful.js',
dest:'sugger.js'
}
}
我使用:

grunt——目标=blabla


为了传递参数,myConst应该是终端的输入(在本例中为blabla)。我似乎找不到一种方法来代替myConst(在代码中)。有可能吗?我该怎么做?

因为运行
grunt
会在process.argv中提供以下命令行参数:

  • 节点
  • 路径\u到\u grunt\u脚本
  • 难道你不能简单地做一些像:

    module.exports = function(grunt) {
    
        var compress_defs={},
            args=process.argv.slice(2); // take all command line arguments skipping first two
    
        // scan command line arguments for "--target=SOMETHING"
        args.forEach(function(arg){
            if(arg.match(/--target=(\S+)/)) { // found our --target argument
                compress_defs[RegExp.$1]=false;
            }
        });
    
        grunt.initConfig({
            uglify: {
                options: {
                    sourceMap: true,
                    compress: {
                        global_defs: compress_defs
                    }
                },
                ugly: {
                    src: 'beautiful.js',
                    dest: 'ugly.js'
                }
        });
    };
    
    或者更好的方法是,使用命令行处理库,而不是自己滚动