2013-03-18 59 views
14

我正在尋找一種方法來防止r.js(RequireJS的優化腳本)從我們的JS模塊中保持可讀性以進行調試。 我期望腳本(順便說一句,在Node.js上運行)有一些命令行選項可以傳遞。 不幸的是,這個工具的文檔相當糟糕。在r.js中禁用醜化

回答

29

將命令行上的optimize=none傳遞給r.js,或者在構建腳本中包含optimize: "none"

如:

({ 
    baseUrl: ".", 
    paths: { 
     jquery: "some/other/jquery" 
    }, 
    name: "main", 
    out: "main-built.js", 
    optimize: "none" 
}) 

更多信息請參見http://requirejs.org/docs/optimization.html

如果您檢查the source,您會看到默認設置爲「uglify」。以下是接受的選項:

  • uglify :(默認)使用UglifyJS來縮小代碼。
  • uglify2:版本2.1.2+。使用UglifyJS2。
  • closure:在簡化優化模式下使用Google的Closure Compiler來縮小代碼。只有在使用Java運行優化器時纔可用。
  • closure.keepLines:與封閉選項相同,但在縮小文件中保留換行。
  • none:不會執行縮小操作。
+0

工作完美!非常感謝! :) – 2013-03-18 07:23:21

+0

雖然它似乎忽略了命令行參數,但是當我將它添加到build-json中時它工作正常 – 2013-03-18 07:27:49

+3

命令行參數應該是'optimize = none',而不是'--optimize = none'(這應該顯示在後很快編輯) – 2013-12-17 23:57:59