Пирамида, Дарт, setuptools

Я начинаю разрабатывать веб-приложение на питоне 3 во фреймворке Pyramid и мне бы очень хотелось использовать Dart вместо js. Однако dart должен быть скомпилирован в js, чтобы работать во всех браузерах.

Мой вопрос: каков хороший рабочий процесс для разработки веб-приложения пирамиды с использованием дротика? Должен ли я разрабатывать код Dart полностью отдельно и просто копировать встроенный продукт в свой проект Pyramid? Или я должен иметь все это в одной правильной форме для запуска и как-то управлять этим внутри пакета? Пирамида (более или менее) заставляет использовать setuptools/distutils, и я действительно не знаю, как мне справиться с компиляцией кода дротика в контексте setuptools/distutils.

Или есть совершенно другой рабочий процесс, который не пришел мне в голову?

Я в самом начале, и я очень открыт для возможностей.

Спасибо за любые ответы/советы/все, что мне помогает.


Примечание. Я использую PyCharm IDE professional (т.е. с поддержкой пирамиды), поэтому решение, которое хорошо работает в PyCharm, высоко ценится.


person zegkljan    schedule 06.10.2014    source источник


Ответы (2)


Чтобы инициировать компиляцию ресурсов Dart, вы можете использовать задачи «Перед запуском» каждой конфигурации запуска/отладки PyCharm, как показано на снимке экрана руководства. Там вы должны вызвать pub build и создать выходной каталог, который будет выбран вашим пирамидным приложением.

Еще одна удобная функция во время разработки — перезагрузка. В Pyramid есть возможность перезагрузки шаблонов хамелеонов/дзиндзя/мако. Он думает, что Dart Tools предоставляет такую ​​же функцию разработчикам.

Удачи тебе с твоим проектом. Просто попробуйте, если это работает для вас.

person Sascha Gottfried    schedule 08.10.2014

Ну, типичный рабочий процесс для любого «скомпилированного» языка (CoffeScript, Less, browserify и т. д.) заключается в том, что вы либо запускаете команду в консоли каждый раз, когда вносите изменение, которое компилирует ваш причудливый язык в JS/CSS, либо у вас есть что-то работает в консоли, которая отслеживает каталог на предмет любых изменений файлов и компилирует их, как только замечает изменения.

Таким образом, в основном у вас будет, скажем, каталог dart\ в вашем проекте и каталог js\. Волшебная консольная команда скомпилирует все из каталога dart\ и поместит результат в каталог js\. Затем вы должны зарегистрировать статическое представление в Pyramid.

config.add_static_view(name='js', path='my_package:a/b/c/js')

и ссылайтесь на скомпилированный файл js из вашего шаблона:

request.static_url('my_package:js/my_compiled_javascript.js')
person Sergey    schedule 06.10.2014