Хотя существуют отличные решения для управления зависимостями на стороне сервера, я не смог найти ни одного, которое удовлетворяло бы все мои потребности в согласованном рабочем процессе управления зависимостями JavaScript на стороне клиента. Я хочу удовлетворить эти 5 требований:
- Управлять зависимостями на стороне клиента в формате, похожем на пакет npm package.json или bower. «с
bower.json
- Он должен иметь возможность указывать на репозиторий git или на фактические js-файлы (в Интернете или локально) в моем
dependency.json
файле для менее известных библиотек (npm позволяет вам указывать на репозитории git) - Он должен минимизировать и объединить все библиотеки в один файл, например ender - это единственный файл js, который мне нужно было бы поместить в свой
<script>
тег на стороне клиента. - Он должен иметь встроенную поддержку CoffeeScript, например BoxJS 4 (теперь мертв)
В браузере я смогу использовать любой стиль require :
var $ = require('jquery'); var _ = require('underscore');
Или еще лучше, сделайте стиль headjs :
head.js(['jquery', 'underscore', 'mylib'], function($, _, mylib) { // executed when all libraries are loaded });
Если такого единого инструмента не существует, какая комбинация инструментов лучше всего, то есть цепочка инструментов, которую я могу комбинировать, используя что-то вроде volo (или grunt )?
Я уже исследовал все инструменты, с которыми я связался здесь, и они удовлетворяют только до трех моих требований в лучшем случае индивидуально. Поэтому, пожалуйста, не публикуйте больше об этих инструментах. Я бы согласился только с ответом, который предоставляет один инструмент, который удовлетворяет всем 5 моим требованиям, или если кто-то опубликует конкретный рабочий процесс / сценарий / рабочий пример цепочки инструментов из нескольких таких инструментов, который также удовлетворяет всем моим требованиям. Спасибо.