我正在使用ember-cli 0.0.28,它依赖于BroccoliJS为我的前端应用程序构建可分发的源代码。我遇到的问题是每当我(重新)构建时,我都需要将index.html文件复制(或者更确切地说)移动到我为其提供应用程序的后端模板目录。
我无法弄清楚如何在ember-cli项目目录中配置Brocfile.js,以便在构建完成后执行。
我暂时使用了一个符号链接,但是在使用ember build
构建前端应用程序之前,这将是一个死链接。我认为可以使用grunt-broccoli来运行构建作为一项艰巨的任务?!我不知道这是否是前进的方向。
使用西兰花文件移动器很容易,但它适用于当前的树木,而不是未来的树木!
感谢所有帮助。
答案 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,如果存在,我们会查找可以检入的相应页面字符串,例如键/值存储。