Управление на зависимости на уеб компоненти; JS, CSS/SASS и шаблонни файлове

Търся да очертая структурата на нашите нови уеб компоненти и в момента не съм сигурен, че съм намерил инструмент, който ще направи всичко, което в идеалния случай искаме, или се доближава много, но изглежда, че ще бъде доста обичайно нещо, което искате да направите в днешно време.

Имаме уеб приложение, което работи с Java от страна на сървъра, докато от страната на клиента използваме силно JavaScript и SASS, сред други неща. Търсим да преструктурираме част от нашата кодова база и да компонентизираме определени аспекти от съдържанието на нашата динамична страница.

Например, бихме искали да имаме стандартен компонент за таблица, който може да бъде разработен напълно независимо от пълното уеб приложение. Виждам, че компонентът на таблицата има следните 3 основни файла:

  • table.js
  • table.scss (нашият SASS файл, който се компилира в CSS файл)
  • table.tmpl (нашият шаблонен файл, който в крайна сметка се компилира в JS функция, напр. използвайки нещо Handlebars като машина за шаблони)

И след това да помогнем за развитието:

  • table-test.html (тестова страница с някои фиктивни данни)
  • table-qunit.js (Qunit тестове)

Надяваме се, че всички тези файлове ще бъдат компилирани в следното:

  • components.js - table.js и table.tmpl компилирани и минимизирани и след това изтеглени в някакъв по-голям JS файл с всички останали компоненти
  • components.css - table.scss компилиран и компресиран и обединен с всички останали CSS компоненти

Инструменти, които разгледах:

  • requireJS - изглежда е много насочен към управление на зависимости на JS с известна мисъл за файлове с ресурси, но не мога да намеря нищо за използването му и CSS предварителни процесори като SASS. Въпреки това много ми харесва идеята за управление на зависимостите на AMD JS.
  • Grunt – пакет с възли, който прави част от това, което искаме
  • Sprockets - внедряване на Ruby на нещо подобно на това, което искаме
  • Javascript Maven плъгин – Най-близък по отношение на езици/библиотеки ( ние вече използваме Java и Maven), но отново, изглежда разглежда само управлението на зависимостите на JavaScript, а не CSS, или поне SASS файлове с ресурси.

Някой има ли по-добри предложения от тези по-горе? Нещо, което се доближава малко до това, което търсим? В идеалния случай би било за предпочитане нещо, което не изисква Node.js или Ruby...


person Ed .    schedule 16.07.2012    source източник


Отговори (3)


Това наистина звучи идеално за Component от TJ Holowaychuk.

person Luke Brooker    schedule 22.11.2012

Мисля, че намерих отговора си, благодарение на този ST пост: Maven Javascript Compressor

Отговорът на моите проблеми изглежда е wro4j.

Той има следните предимства за мен (вижте страницата функции за всичко):

  • Мавенизиран
  • Базиран на Java
  • Пружината може да се конфигурира
  • Поддържа SASS файлове и Dust шаблони (които сега избрахме, което мислех, че е сравнително неизвестна машина за шаблони)
  • Опции за използване по време на изграждане или по време на изпълнение!
  • И още...
person Ed .    schedule 19.07.2012

Как работи wro4j при вас? Вижте и cartero!

person Brave Dave    schedule 13.04.2014