2016-07-13 2 views
1

У меня есть приложение Django, и в приложении я пытаюсь объединить и минимизировать все файлы Javascript и файлы CSS.django-pipe: Почему эти линии JS вызывают сбой юй-компрессора?

Для этого я использую django-конвейер 1.2.6, и я настроил свой файл настроек так, чтобы он использовал YUICompressor по умолчанию для сжатия JS и файлов CSS. Мой файл настроек сконфигурирован так:

... 

# PIPELINE SETTINGS (for compressing/bundling css and js files) 
STATICFILES_STORAGE = "pipeline.storage.PipelineCachedStorage" 

PIPELINE_YUI_BINARY = "/usr/bin/yui-compressor" 

PIPELINE_JS = { 
    'min': { 
     'source_filenames': (    
      "js/*.js", 
     ), 
     'output_filename': 'js/min.js' 
    } 
} 

PIPELINE_CSS = { 
    ... 
} 

PIPELINE = True 

Когда я запускал команду python src/foo_app/manage.py collectstatic, я получил «сломанной трубы» исключение. Я быстро понял, что юй-компрессор рушится из-за проблемы с JS. Таким образом, я начал процесс выделения файла и строки кода, из-за которого произошел сбой yui-compressor.

В конце концов я сузили его до двух линий, которые определяют атрибут класса для кнопок на JQuery всплывающее окно:

$('#some-modal').dialog({ 
     ... 
     buttons: [ 
      { 
       text : 'Print', 
       click : function() { 
        ... 
       }, 
       class : 'foo-class bar-class' // <- this line 
      }, 
      { 
       text : 'Close', 
       click : function() { 
        ... 
       }, 
       class : 'foo-class bar-class' // <- this line 
      } 
     ], 
    }); 

Когда я удалить эти определения класса, юй-компрессор сжимает мои JS просто отлично. Однако при включении этих строк происходит сбой юй-компрессора.

Почему эти линии вызывают сбой компрессора? Это действительный Javascript, и это правильно устанавливает класс этих кнопок.

ответ

1

Возможно, это связано с обработкой ключевых слов класса yui-компрессора ES6. Попробуйте обернуть class ключ в кавычки:

изменить это:

class : 'foo-class bar-class' // <- this line 

к:

'class' : 'foo-class bar-class' // <- this line 
+0

Это, кажется, решен вопрос. Благодарю. –

Смежные вопросы