如何在github页面上部署使用ember-cli开发的Ember.js应用程序?

时间:2014-06-25 08:47:10

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

我已经使用ember-cli成功创建了一个小应用程序。我尝试将它推送到我的github仓库的gh-pages分支,但它在浏览器控制台中显示错误

Uncaught ReferenceError: require is not defined 

dist/assets加载vendor.js和vendor.js文件也失败了。

我无法在本地计算机的dist文件夹中运行独立的余烬应用程序,同样的错误。

有人试过吗。如果是,如何正确地做到这一点?

2 个答案:

答案 0 :(得分:5)

自2014年12月起,还有ember-cli addon for this

首先确保在modulePrefix中将config/environment.js设置为github上的repo名称。例如,对于https://github.com/username/my-cool-repo,它应该是modulePrefix: 'my-cool-repo'

然后按照以下说明操作:

  1. 安装插件。
    $ ember install:addon ember-cli-github-pages

  2. 提交插件所做的更改。
    $ git add . && git commit -m "Installed addon ember-cli-github-pages"

  3. 仅使用必要的文件创建gh-pages分支 $ git checkout --orphan gh-pages && rm -rf `ls -a | grep -vE '.gitignore|.git|node_modules|bower_components|\.\/|\.\.\/'` && git add . && git commit -m "Initial gh-pages commit"

  4. 切换回源分支(很可能是master$ git checkout master

  5. 将您的余烬应用构建到gh-pages分支 $ ember gh-pages:commit --message "Initial gh-pages release"

  6. 将所有内容(或至少gh-pages分支)推送到github。

  7. (这与ember-cli< = 0.1.4不同,将来可能会再次发生变化。请务必访问addon's readme。)

答案 1 :(得分:2)

正如评论已经说明的那样:将baseUrl中的config/environment.js更改为您要将应用推送到的GitHub存储库的名称。例如:

您的GitHub存储库名为myEmberApplication,位于

https://github.com/yourUsername/myEmberApplication.git

然后该项目的gh-pages的URL将是

https://yourUsername.github.io/myEmberApplication

因此,在您的情况下,您必须将baseUrl/(默认)更改为/myEmberApplication

您必须执行此操作的原因是因为ember-cli会将<base>标头添加到您的index.html文件中。