Как развернуть приложение Ember.js, разработанное с помощью ember-cli на страницах github?
Я успешно создал небольшое приложение с использованием ember-cli. Я попробовал нажать его в ветки gh-pages моего github repo, но он показывает ошибку в консоли браузера.
Uncaught ReferenceError: require is not defined
загрузка файлов vendor.js и vendor.js из dist/assets
также не выполняется.
Я не могу запускать автономное приложение ember из папки dist
на локальном компьютере, а также те же ошибки.
Кто-нибудь пробовал это. если да, как это сделать правильно?
Ответы
Ответ 1
С декабря 2014 года есть и ember-cli addon для этого.
Сначала убедитесь, что вы установили modulePrefix
в config/environment.js
в свое имя репо на github. Например, для https://github.com/username/my-cool-repo оно должно быть modulePrefix: 'my-cool-repo'
.
Затем выполните следующие инструкции:
-
Установите аддон.
$ ember install:addon ember-cli-github-pages
-
Зафиксируйте изменения, внесенные аддоном.
$ git add . && git commit -m "Installed addon ember-cli-github-pages"
-
Создайте ветвь 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"
-
Вернитесь к ветки источника (скорее всего, master
).
$ git checkout master
-
Создайте свое приложение ember в ветке gh-pages
.
$ ember gh-pages:commit --message "Initial gh-pages release"
-
Нажмите все (или, по крайней мере, ветвь gh-pages
) на github.
(Это было другое для ember-cli <= 0.1.4 и может измениться в будущем. Обязательно посетите addon readme.)
Ответ 2
Как уже отмечаются комментарии: измените baseUrl
в config/environment.js
на имя репозитория GitHub, на который вы нажимаете приложение. Например:
Ваш репозиторий GitHub называется myEmberApplication
и находится в
https://github.com/yourUsername/myEmberApplication.git
тогда URL-адрес этого проекта gh-pages будет
https://yourUsername.github.io/myEmberApplication
Итак, в вашем случае вам нужно изменить baseUrl
с /
(по умолчанию) на /myEmberApplication
.
Причина, по которой вам нужно это сделать, заключается в том, что ember-cli добавляет заголовок <base>
в ваш файл index.html
.