Объединение нового проекта apostrophe-cms с существующим проектом Gulp.js

Я недавно узнал об Apostrophe CMS, когда искал альтернативу Wordpress / TYPO 3, и должен сказать, я действительно впечатлен! Излишне говорить, что я также немного ошеломлен всем, что объединяется в этой огромной структуре.

Итак, мой вопрос: как мне наиболее эффективно объединить мой существующий проект gulp с горячей перезагрузкой, таблицами стилей sass и т. Д. С Apostrophe?

Я полагал, что Apostrophe будет хорошо работать с технологией, которую я уже использую, но также, похоже, нет документации о том, как сделать что-то подобное.

Заранее спасибо!


person zynth666    schedule 14.01.2021    source источник


Ответы (1)


Вы можете разместить пользовательские исходные файлы внешнего интерфейса где угодно (популярно src или frontend в корне). Вы продвигаете его с помощью self.pushAsset в модуле, в котором вы выводите построенные активы. Подробнее об этом можно прочитать в документации для модуля apostrophe-assets. (это, безусловно, можно было бы лучше обернуть для новых разработчиков)

Как там сказано, внешние ресурсы, не относящиеся к конкретному модулю (например, JS игрока для вашего настраиваемого виджета карусели), должны по-прежнему входить в модуль, которым вы владеете. Модуль assets - хороший выбор (вы должны объявить его в app.js, как и другие). Так что у вас может получиться что-то вроде:

// in lib/modules/assets/index.js
module.exports = {
  construct: function(self, options) {
    self.pushAsset('stylesheet', 'styles', { when: 'always' });
  }
}

styles, поскольку аргумент name указывает, что имя файла - styles.css (ваш выходной файл из сборки). Поскольку тип - stylesheet, этот файл находится в общедоступном каталоге CSS модуля ресурсов, lib/modules/assets/public/css/styles.css. Это описано в pushAsset документах, указанных выше.

person alexbea    schedule 18.01.2021
comment
Привет, спасибо за ответ! Я посмотрю на него через несколько дней и сообщу. - person zynth666; 19.01.2021
comment
Привет, я много пробовал, но в конце концов пришел к выводу, что попробую решить свою проблему с помощью безголового модуля апострофа (который тоже было очень сложно найти). Видите ли, я не просто пытаюсь подтолкнуть несколько таблиц стилей к апострофу. Поэтому я думаю, что подход, основанный на REST, будет лучшим. - person zynth666; 03.02.2021