переместить выходной файл после завершения сборки ember

Я использую ember-cli 0.0.28, который зависит от BroccoliJS для создания распространяемого исходного кода для моего интерфейсного приложения. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я (пере) строю, мне нужно, чтобы файл index.html был скопирован (или, скорее, перемещен) в каталог шаблонов моего внутреннего сервера, из которого я обслуживаю приложение.

Я не могу понять, как настроить Brocfile.js в каталоге проекта ember-cli для выполнения этого после завершения сборки.

Я пока использовал символическую ссылку, которая работает, но будет мертвой ссылкой до тех пор, пока интерфейсное приложение не будет построено с ember build. Я думаю, что можно использовать grunt-broccoli для запуска сборки как ворчание ?! Однако я не знаю, можно ли это сделать.

Использовать broccoli-file-mover достаточно просто, но он работает с текущими деревьями, а не с будущими деревьями!

Любая помощь приветствуется.


person ashraf    schedule 26.05.2014    source источник
comment
Удалось ли вам когда-нибудь найти для этого подходящее решение? У меня похожая ситуация.   -  person jdmcnair    schedule 28.10.2014
comment
@jdmcnair На самом деле я этого не делал, но пока использую символическую ссылку, чтобы обойти это.   -  person ashraf    schedule 28.10.2014
comment
Этот SO-ответ может быть многообещающим.   -  person Sukima    schedule 14.03.2015


Ответы (1)


ember-cli значительно продвинулся вперед, но этот вопрос, по сути, все еще актуален, и существует множество способов чтобы решить эту проблему.

Если интерфейсная сборка должна быть связана с внутренними ресурсами, символическая ссылка из каталога build / dist в каталог ресурсов серверной части подходит для большинства этапов разработки.

Теперь ember-cli также позволяет проксировать серверную часть через сервер ember., которая полезна при создании приложений с поддержкой API, вроде того.

ember-cli-deploy также является отличным способом развертывания интерфейсных приложений, которые могут помочь с развертывание в среде разработки или производственной среде. У него много пакетов, но я вернулся к использованию пакета redis, поскольку он предоставляет простой способ проверить версию шрифта с небольшой внутренней настройкой, например:

defmodule PageController do
  def index(conn, %{"index_id" => sha}) do
    case _fetch_page_string(sha) do
      {:ok, output_string} -> html(conn, output_string)
      {:error, reason} -> conn |> send_resp(404, reason)
    end
  end

  defp _fetch_page_string(sha) do
    # some code to fetch page string (content)
    ... 
  end
end

В указанном выше обработчике индексной страницы попытайтесь поймать index_id queryParam, если он присутствует, мы ищем соответствующую строку страницы, которую можно проверить, например, в хранилище ключей / значений.

person ashraf    schedule 19.01.2018