Сценарии сборки муравья, antcall, зависимости, и т.д.

Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.

Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.

Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.

Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).

27
задан Dave Jarvis 2 April 2010 в 21:02
поделиться

3 ответа

У меня есть что-то набор подобного: у Меня есть основной Муравей build.xml, который называет отдельный build.xml, который заботится о создании моих тестов. Это - то, как я делаю это:

<target name="build-tests">
    <subant target="build">
      <fileset dir="${test.home}" includes="build.xml"/>
    </subant>
</target>

прием должен использовать subant вместо antcall. Вы не должны импортировать другой файл типа "build".

33
ответ дан martin clayton 28 November 2019 в 05:28
поделиться

Попытайтесь использовать задача "муравья" вместо "antcall" задачи, которая выполняет импортированную сборку непосредственно вместо того, чтобы импортировать ее в текущий файл типа "build". Это имеет параметр "dir":

каталог для использования в качестве basedir для нового проекта Муравья. Значения по умолчанию к basedir текущего проекта, если inheritall не имел значение false, в этом случае он не имеет значения по умолчанию. Это переопределит установку basedir названного проекта.

, Таким образом, Вы могли сделать:

<ant antfile="${baseDirUpOne}/utils/build/build.xml" dir="../utils/build" />

или что-то как этот.

6
ответ дан martin clayton 28 November 2019 в 05:28
поделиться

Можно передать параметрические усилители к antcall использование вложенного в antcall блоке. Так, можно передать свойства вниз тот путь (вероятно, даже basedir, так как свойства неизменны).

0
ответ дан Peter Kahn 28 November 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: