r.js构建中的替代JavaScript压缩方法

r.js构建中的替代JavaScript压缩方法,javascript,optimization,requirejs,whitespace,r.js,Javascript,Optimization,Requirejs,Whitespace,R.js,我正在使用r.js为我的requirejs应用程序构建一个生产脚本,我正在寻找一种方法来使用替代压缩库或更改使用的默认值。我希望删除空白,但变量名保持不变 我有一个特殊的要求,即保持变量名的原样,而不改变它们。对常量变量名的需求引入了一点“代码味道”,但它使应用程序的配置文件对非专家编辑器更加健壮-因此请尽量避免在此处建议设计更改 我目前已经将r.js配置为根本不优化JavaScript,这意味着不仅保留了变量名,还保留了空格。下面提供了gruntfile.js中的相关部分 有人能提出一种压缩空

我正在使用r.js为我的requirejs应用程序构建一个生产脚本,我正在寻找一种方法来使用替代压缩库或更改使用的默认值。我希望删除空白,但变量名保持不变

我有一个特殊的要求,即保持变量名的原样,而不改变它们。对常量变量名的需求引入了一点“代码味道”,但它使应用程序的配置文件对非专家编辑器更加健壮-因此请尽量避免在此处建议设计更改

我目前已经将r.js配置为根本不优化JavaScript,这意味着不仅保留了变量名,还保留了空格。下面提供了gruntfile.js中的相关部分

有人能提出一种压缩空白但不更改r.js构建中变量名的方法吗

  english: {
    options: {
      baseUrl: "js",
      mainConfigFile: "js/app-en.js",
      name: "app-en",
      out: "js/dist/<%= pkg.name %>-en.js",
      optimize: "none"
    }
  }
英语:{
选项:{
baseUrl:“js”,
mainConfigFile:“js/app en.js”,
名称:"app en",,
输出:“js/dist/-en.js”,
优化:“无”
}
}

优化器的
r.js
设置可用于控制微型过滤器的运行方式。使用的默认缩微器是UglifyJS。
uglifyjs
选项告诉
r.js
如何调用它。根据您显示的设置,需要删除
optimize:“none”
并添加
uglify:{no\u mangle:true}

english: {
  options: {
    baseUrl: "js",
    mainConfigFile: "js/app-en.js",
    name: "app-en",
    out: "js/dist/<%= pkg.name %>-en.js",
    uglify: {
      no_mangle: true
    },
  }
}
结束后,我相信您会希望:

closure: {
  CompilationLevel: 'WHITESPACE_ONLY',
},

令人惊叹的!我认为它一定很简单,但无法将文档链接在一起。如果允许的话,我会加上赏金
closure: {
  CompilationLevel: 'WHITESPACE_ONLY',
},