我使用ember-cli 0.0.28,这取决于brocolijs为我的前端应用程序构建可分发的源代码。我遇到的问题是,每当我(重新)构建时,我都需要将index.html文件复制(或者更确切地说是移动)到我的后端模板目录中,我从该目录中提供应用程序。
我不知道如何在ember-cli项目目录中配置Brocfile.js来完成构建之后。
我暂时使用了一个符号链接,它可以工作,但在使用ember build
构建前端应用程序之前,它将是一个死链接。我认为有可能使用grunt-broccoli来运行构建作为grunt任务?!我不知道这是否是前进的方向。
使用broccoli-file-mover很容易,但它适用于当前的树,而不是未来的树!
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,如果存在,我们寻找相应的页字符串,可以检入例如键/值存储