Ember.js 如何在ember cli Brocfile.js中执行生成后挂钩?
我有一个构建到Ember.js 如何在ember cli Brocfile.js中执行生成后挂钩?,ember.js,ember-cli,broccolijs,Ember.js,Ember Cli,Broccolijs,我有一个构建到dist/目录的ember cli项目。我已将应用程序配置为处理dist/目录中的资产,并将历史记录设置为使用哈希而不是pushState。这允许我将index.html符号链接到根目录。理由是将项目推到GitHub上的gh页面,需要一个根索引。html,而ember应用程序要求路由是绝对的,而不是相对的(AFAIK)。但是,GitHub不会遵循sym链接,并且需要输出index.html的副本。这是可行的,现在我有两个构建步骤(ember-build和cp-dist/index.
dist/
目录的ember cli项目。我已将应用程序配置为处理dist/
目录中的资产,并将历史记录设置为使用哈希而不是pushState。这允许我将index.html
符号链接到根目录。理由是将项目推到GitHub上的gh页面
,需要一个根索引。html
,而ember应用程序要求路由是绝对的,而不是相对的(AFAIK)。但是,GitHub不会遵循sym链接,并且需要输出index.html
的副本。这是可行的,现在我有两个构建步骤(ember-build
和cp-dist/index.html./index.html
)
如何告诉我的Brocfile.js
在构建完成后复制输出的index.html
文件
回顾历史:我正在开发一个ember cli插件。我在GitHub上托管它。我需要提供一个演示网站gh页面
是演示站点的正确宿主位置。因此,我在gh页面
分支中创建了一个ember cli应用程序。我无法将输出文件夹设置为/
,因为余烬构建将rm-rf
输出目录销毁源代码。所以它必须是dist/
。我无法使用我们在上个月完成了此操作。使用ember cli为您自己生成一个in-repo插件,然后使用您最喜欢的库复制文件(我已经有了fs extra,正在使用它)
使用repo插件中的ember g创建您的插件
Ember cli docs:和您是将插件托管在专用npm存储库中还是通过guthub?或者有没有办法将插件包含在ember cli应用程序代码库中?查看链接的代码。您将其包括在应用程序回购中。我将为其他可能需要像我一样更多解释的人编辑答案。谢谢你,顺便说一句,我从来都不知道你可以在项目中编写自己的附加组件!我的同事们将带着这个消息去哈利路亚。嘿,Sukima,很抱歉反应太晚-我不经常访问这个网站;)你是对的,ember-generate-addon
用于制作外部插件;构建in-reop加载项的命令是repo加载项中的ember g
,因此,为了构建我的加载项,我在repo加载项资产交付中运行ember g
,然后编辑创建的index.js。没有其他工作是必要的。哦,哇,据我所知,repo插件中的似乎是一个未记录的特性。它被深埋在地下。很高兴知道它在那里!谢谢。我遇到了同样的问题,所以我写了一个插件来在构建后复制文件:
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');
}
};