gpt4 book ai didi

ember.js - 如何在 ember-cli Brocfile.js 中执行构建后 Hook ?

转载 作者:行者123 更新时间:2023-12-04 13:38:37 24 4
gpt4 key购买 nike

我有一个构建到 dist/ 的 ember-cli 项目目录。我已将应用程序配置为处理 dist/ 中的 Assets 目录并将历史设置为使用哈希而不是 pushState。这允许我符号链接(symbolic link) index.html到根。理由是把项目推到gh-pages在 GitHub 上需要 root index.html和 ember 应用程序要求路由是绝对的而不是相对的 (AFAIK)。然而,GitHub 不会遵循符号链接(symbolic link),并且需要输出 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/ .我无法使用 <meta http-equiv="Refresh"...因为 Ember 阻塞了路径并在启动时崩溃。所以我的解决方案是符号链接(symbolic link)/复制 index.html到更高级别并更改 ember 的配置以添加 dist/目录到 Assets 并将路由设置为哈希而不是 pushState。

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

最佳答案

我们在 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');
}
};

Example from Ghost

Ember-cli 文档: developing addonsscaffolding in-repo addons

关于ember.js - 如何在 ember-cli Brocfile.js 中执行构建后 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28835255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com