4

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

我不知道如何在构建完成后配置 ember-cli 项目目录中的 Brocfile.js 来执行此操作。

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

使用 broccoli-file-mover 很简单,但它适用于当前的树,而不是未来的树!

感谢所有帮助。

4

1 回答 1

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_idqueryParam,如果存在,我们会寻找可以检查到例如键/值存储的相应页面字符串。

于 2018-01-19T15:06:24.837 回答