Как включить в мою тему целую папку с файлами SCSS внутри? - PullRequest
0 голосов
/ 05 декабря 2018

У меня действительно большой проект с Sencha Architect.

Чтобы работать в команде, нам нужно обновить наши файлы темы SCSS во внешней папке (всегда внутри рабочей области проекта, но вне SA).

Я пытался импортировать с помощью SCSS внутри проекта мои внешние файлы, используя импорт, но мне нужно импортировать всю папку вместо отдельных файлов, и Sencha CMD не позволяет использовать классический * импорт.

Глядя на руководство по темам, кажется, что в app.json я могу настроить свои внешние файлы scss для обработки внутри темы во время сборки.

"sass": {
  "namespace": "FocusWebModern",
  "generated": {
     "var": "sass/save.scss",
     "src": "sass/save"
  },
  "etc": [
     "sass/etc/all.scss"
  ],
  "var": [
     "sass/var/all.scss",
     "sass/var"
  ],
  "src": [
     "sass/src",
     "${app.dir}/bludataSCSS/Focus.scss"
  ]},

Этот код позволил мне импортировать Focusфайл .scss внутри моей темы, но, используя непосредственно путь к папке, процесс больше не работает:

"sass": {
  "namespace": "FocusWebModern",
  "generated": {
     "var": "sass/save.scss",
     "src": "sass/save"
  },
  "etc": [
     "sass/etc/all.scss"
  ],
  "var": [
     "sass/var/all.scss",
     "sass/var"
  ],
  "src": [
     "sass/src",
     "${app.dir}/bludataSCSS"//NOT WORKING
  ]},

Поэтому я попытался также использовать мой файл build.xml для записи в один файл scss всехимпорт в другие файлы:

<target name="-before-sass">
    <echo file="${app.dir}/bludataSCSS/Focus.scss" append="false">
    </echo>

    <fileset id="filesref" dir="${app.dir}/bludataSCSS" includes="*"/>
    <property name="files" refid="filesref"/>

    <echo message="Files:${line.separator}" />
    <for list="${files}" delimiter=";" param="file" >
        <sequential>
            <echo message="    @{file}"/>
            <if>
             <equals arg1="@{file}" arg2="Focus.scss" />
             <then>
             </then>
             <else>
               <echo message="Import del file: @{file}"/>
                <echo file="${app.dir}/bludataSCSS/Focus.scss" append="true">
                    @import '@{file}';
                </echo>
             </else>
            </if>
        </sequential>
    </for>

</target> 

С этим кодом результирующий файл Focus.scss представляет собой файл с импортом всех отдельных файлов в папке bluda.taSCSS.

В этом случае Sencha обнаруживает изменения в файле Focus.scss и останавливает процесс сборки.

Итак, вопросы:

  1. естьспособ включить файлы scss при компиляции sass с build.xml?
  2. есть способ избежать sencha CMD для обнаружения изменений файлов во время сборки?
  3. есть способ импортировать весьпапка в конфигурации sass app.json?

Все ваши идеи будут оценены.

...