在ember构建完成后移动输出文件

时间:2014-05-26 18:00:44

标签: ember.js ember-cli broccolijs

我正在使用ember-cli 0.0.28,它依赖于BroccoliJS为我的前端应用程序构建可分发的源代码。我遇到的问题是每当我(重新)构建时,我都需要将index.html文件复制(或者更确切地说)移动到我为其提供应用程序的后端模板目录。

我无法弄清楚如何在ember-cli项目目录中配置Brocfile.js,以便在构建完成后执行

我暂时使用了一个符号链接,但是在使用ember build构建前端应用程序之前,这将是一个死链接。我认为可以使用grunt-broccoli来运行构建作为一项艰巨的任务?!我不知道这是否是前进的方向。

使用西兰花文件移动器很容易,但它适用于当前的树木,而不是未来的树木!

感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

ember-cli取得了相当大的进展,但从根本上说,这个问题仍然有效,并且有很多方法可以解决这个问题。

如果要将前端构建与后端资产捆绑在一起,则从build / dist目录到后端资产目录的符号链接适用于大多数开发阶段。

现在,ember-cli还允许通过ember server命令代理到后端,这对于构建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,如果存在,我们会查找可以检入的相应页面字符串,例如键/值存储。