2

我的组织正在使用 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

最后,我们采用了香草ember-cli-deploy解决方案,因为这两个插件已经很老了......

我已按照此处的说明添加rootUrl andlocationType properties to ourenvironment.js` 文件,但没有成功:

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

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

我们的请求继续不会添加app-styleguide到来自插件的资产的请求 URL 中。以下是来自 Chrome DevTools Network 选项卡的失败请求示例:

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

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

任何帮助是极大的赞赏!

4

1 回答 1

1

我能够在Ember Slack 社区上获得一些帮助 (特别感谢 @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,以及适当的前置 url 段。

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

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

于 2017-07-10T21:18:41.520 回答