6

我有一个构建到dist/目录的 ember-cli 项目。我已将应用程序配置为处理dist/目录中的资产并将历史记录设置为使用哈希而不是 pushState。这允许我符号链接index.html到根目录。原因是,将项目推送到gh-pagesGitHub 需要 root index.html,而 ember 应用程序需要绝对路由而不是相对路由(AFAIK)。然而,GitHub 不会遵循符号链接,并且需要输出的副本index.html。这有效,现在我有 2 个构建步骤(ember buildcp dist/index.html ./index.html)。

我如何告诉我在构建完成后Brocfile.js复制输出的index.html文件?

一点历史:我正在开发一个 ember-cli 插件。我将它托管在 GitHub 上。我需要提供一个演示站点。gh-pages是托管演示站点的正确位置。所以我在gh-pages分支中创建了一个 ember-cli 应用程序。我无法将输出文件夹设置为,./因为 ember 构建将rm -rf输出目录破坏源。所以它必须是dist/。我不能使用 a<meta http-equiv="Refresh"...因为 Ember 阻塞了路径并在启动时崩溃。所以我的解决方案是将符号链接/复制index.html到更高级别并更改ember的配置以将dist/目录添加到资产并将路由设置为哈希而不是pushState。

我目前有一个deply.sh可以执行此操作的脚本,但我想知道是否有办法为此使用西兰花?

4

1 回答 1

12

我们在Ghost结束了。使用 ember-cli 为自己生成一个 in-repo-addon,然后使用你最喜欢的库来复制文件(我已经有了 fs-extra 并且正在使用它)

创建你的插件ember g in-repo-addon <addon-name>

/lib/<addon-name>/index.js

module.exports = {
    name: '<addon-name>',
    postBuild: function (results) {
        var fs = this.project.require('fs-extra');
        fs.copySync(results.directory + '/index.html', '../server/views/default.hbs');
    }
};

来自幽灵的例子

Ember-cli 文档:开发插件搭建仓库内插件

于 2015-03-12T21:17:19.627 回答