Отключить уродство в r.js

Я ищу способ предотвратить r.js (скрипт оптимизации RequireJS) от ugylyfying наших JS-модулей, чтобы сохранить читаемость для целей отладки. Я ожидаю, что скрипт (кстати, работающий на Node.js) будет иметь некоторые параметры командной строки, которые будут переданы. К сожалению, документация этого инструмента довольно скудна.


person Leo Selig    schedule 18.03.2013    source источник


Ответы (1)


Передайте optimize=none в командной строке r.js или включите optimize: "none" в свой скрипт сборки.

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: использует Closure Compiler от Google в режиме простой оптимизации для минимизации кода. Доступно только при запуске оптимизатора с использованием Java.
  • closure.keepLines: То же, что и опция закрытия, но сохраняет возврат строки в мини-файлах.
  • none: минификация выполняться не будет.
person minikomi    schedule 18.03.2013
comment
Хотя кажется, что аргумент командной строки игнорируется, но когда я добавляю его в build-json, он отлично работает - person Leo Selig; 18.03.2013
comment
Аргумент командной строки должен быть optimize=none, а не --optimize=none (который скоро появится в посте как редактирование) - person Saif Hakim; 18.12.2013