Как развернуть приложение Ember.js, разработанное с помощью ember-cli, на страницах github?

Я успешно создал небольшое приложение с помощью ember-cli. Я попытался отправить его в ветку gh-pages моего репозитория github, но он показывает ошибку в консоли браузера.

Uncaught ReferenceError: require is not defined 

загрузка файлов vendor.js и vendor.js из dist/assets также не удалась.

Я также не могу запустить отдельное приложение ember из папки dist на локальном компьютере, те же ошибки.

кто-нибудь пробовал. если да то как это сделать правильно?


person kushdilip    schedule 25.06.2014    source источник
comment
Что вы получаете в консоли? Возможно проблема с базовым URL. iamstef.net/ember-cli/#deployments   -  person blessenm    schedule 25.06.2014
comment
протестируйте сами расходное приложение   -  person kushdilip    schedule 25.06.2014
comment
Я думаю, вам нужно переместить содержимое папки «dist» в ветку gh-pages (под капотом это jekyl). Я не думаю, что вы можете служить из dist.   -  person blessenm    schedule 25.06.2014
comment
если это так, то он должен работать прямо из папки dist на локальной машине, верно? но это не так.   -  person kushdilip    schedule 25.06.2014
comment
Попробуйте изменить «baseURL» внутри config/environment.js на ваш путь к локальному хосту. Например, baseURL: '/Bounty-Web-Expenses/dist'   -  person blessenm    schedule 25.06.2014


Ответы (2)


С декабря 2014 года для этого также существует аддон ember-cli.

Сначала убедитесь, что modulePrefix в config/environment.js соответствует имени вашего репозитория на github. Например, для 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. Создайте приложение Ember для ветки gh-pages.
    $ ember gh-pages:commit --message "Initial gh-pages release"

  6. Переместите все (или хотя бы ветку gh-pages) на github.

(Это было иначе для ember-cli ‹= 0.1.4 и может снова измениться в будущем. Обязательно посетите файл сведений о дополнении.)

person Michael    schedule 02.02.2015
comment
Я попробую это. Недавно я начал использовать ember-cli. - person kushdilip; 02.02.2015
comment
Аддон протестировал частично. но аддон мало что делает. Я до сих пор не могу запустить страницу организации с помощью ember.. например. скажем kushdilip.github.io. И даже эта страница репозитория запускается из yourUsername.github.io/myEmberApplication/dist. - person kushdilip; 27.02.2015

Как уже сказано в комментариях: измените baseUrl в config/environment.js на имя репозитория GitHub, в который вы отправляете приложение. Например:

Ваш репозиторий GitHub называется myEmberApplication и находится в

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

тогда URL-адрес gh-страниц этого проекта будет

https://yourUsername.github.io/myEmberApplication

Итак, в вашем случае вам нужно изменить baseUrl с / (по умолчанию) на /myEmberApplication.

Причина, по которой вы должны это сделать, заключается в том, что ember-cli добавляет заголовок <base> в ваш файл index.html.

person Oliver    schedule 16.07.2014