禁用r.js中的uglyfying

19

我希望找到一种方法来防止 r.js(RequireJS 的优化脚本)对我们的 JS 模块进行混淆,以保持其可读性,以便于调试。我期望这个运行在 Node.js 上的脚本有一些可以传递的命令行选项。不幸的是,这个工具的文档相当贫乏。

1个回答

37
Pass optimize=none on the command line to r.js, or include optimize: "none" in your build script.
eg:
({
    baseUrl: ".",
    paths: {
        jquery: "some/other/jquery"
    },
    name: "main",
    out: "main-built.js",
    optimize: "none"
})

更多信息请参见http://requirejs.org/docs/optimization.html

如果您查看源代码,您将看到默认设置为“uglify”。以下是可接受的选项:

  • uglify:(默认)使用UglifyJS来压缩代码。
  • uglify2: 版本2.1.2+。使用UglifyJS2。
  • closure: 使用Google的Closure Compiler在简单优化模式下来压缩代码。仅在使用Java运行优化器时才可用。
  • closure.keepLines: 与closure选项相同,但在压缩文件中保留换行符。
  • none: 不执行任何压缩。

虽然它似乎忽略了命令行参数,但当我将其添加到build-json中时,它可以正常工作。 - Leo Selig
4
命令行参数应该是 optimize=none,而不是 --optimize=none(这很快就会在文章中被更正)。 - Saif Hakim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接