Дублируйте "function(){}. Call(this)" в Uglified JS
Мой uglified (используя rails uglifier) javascript заканчивается следующим образом:
/* ... actual code */}.call(this),function(){}.call(this),function(){}.call(this),function(){}.call(this),function(){}.call(this),function(){}.call(this);
Или для людей:
}.call(this),
function(){}.call(this),
function(){}.call(this),
function(){}.call(this),
function(){}.call(this),
function(){}.call(this);
Uglifier должен уменьшать количество байтов в конечном продукте. У меня есть несколько пустых файлов кофе (но их больше 6), так что, насколько я знаю, дело не в том, что их обрабатывает рельсы. Кто-нибудь знает, почему это происходит?
1 ответ
Решение
CoffeeScript упаковывает все файлы в функцию, которая вызывается немедленно. Это препятствует тому, чтобы объявления переменных из нескольких файлов мешали друг другу при объединении файлов (что и делает конвейер ресурсов Rails). Конечно, эти пустые функции могут быть удалены в процессе минимизации, но UglifyJS в настоящее время не может выполнить такую оптимизацию.