使用Addon将Ember应用程序部署到Github Pages

时间:2017-07-10 17:02:00

标签: ember.js ember-cli github-pages ember-addon

我的组织正在使用Ember插件在我们的应用程序之间开发一组共享组件。让我们调用此存储库app-components。目前,组件应用程序的主要职责是分发CSS,字体和图像。

我们还正在构建一个生活风格指南,它将摄取我们的共享组件并以中立的方式呈现它们供开发人员参考。让我们调用此存储库app-styleguide。我们的目标是使用app-styleguide部署ember-deploy以将此解决方案部署到Github Pages。网址遵循以下模式:

https://organization.github.io/app-styleguide/

app-styleguide应用程序进入gh-pages分支并作为网页投放时,app-components发送的所有字体和图片都会给我们404.我有引用了一些针对这个问题的不同解决方案,但我不断遇到我们尝试过的相同解决方案。

我尝试使用以下两个自动部署到github页面的ember插件:

  1. https://github.com/poetic/ember-cli-github-pages
  2. https://www.npmjs.com/package/ember-cli-deploy-gh-pages
  3. 最后我们选择了一个香草ember-cli-deploy解决方案,因为这两个插件很老了......

    我已按照此处的说明添加rootUrl and locationType properties to our environment.js`文件,该文件无效:

    我们的environment.js文件如下所示:

    if (environment === 'production') {
        ENV.rootURL = '/app-styleguide';
        ENV.locationType = 'hash';
      }
    

    我们的请求仍然不会将app-styleguide添加到来自Addon的资产的请求网址中。以下是Chrome DevTools网络标签中失败请求的示例:

    Request URL:https://organization.github.io/assets/images/thumbnail-icons/person.svg
    Request Method:GET
    Status Code:404 Not Found
    

    如您所见,app-styleguide未添加到请求中。

    非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我能够在Ember Slack Community上获得一些帮助  (特别感谢@alexspeller)。事实证明,我需要更新资产指纹识别中的几个设置。

使用附带的broccoli-asset-rev库,我必须修改ember-cli-build.js以包含以下内容:

var app = new EmberApp(defaults, {
    fingerprint: {
      extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg', 'ttf', 'woff'],
      prepend: '/app-styleguide/'
    }
  });

我需要更新选项以考虑SVG,TTF和& WOFF,以及适当的前置网段。

您可以在此处阅读有关此功能的信息: https://ember-cli.com/asset-compilation#fingerprinting-and-cdn-urls

可用选项: https://github.com/cibernox/broccoli-asset-rev?files=1#options