2016-06-18 3 views
1

Я пытаюсь развернуть Стартовый комплект React.js (можно найти здесь: https://github.com/kriasoft/react-starter-kit) на Openshift. Для этого я изменил некоторые мелочи, которые я объясняю здесь.Deploy React.js Стартовый комплект на Openshift

Во-первых, журналы в Openshift говорят мне, что ключевое слово import в файле servers.js не распознается. Я думаю, что Babel не используется Openshift в этот момент.

Обойти, который упоминаются здесь: How do I modify the node startup command in Open Shift?

Так что я изменил server.js содержания (потому что OpenShift запустить node server.js команды и не babel-node tools/run start определены в scripts.start свойства package.json) с рекомендуемым содержанием и переименовал мою базу server.js в app.js.

Теперь, журналы говорит мне, что babel-core не найден, поэтому я изменил файл package.json поставить babel-core и babel-cli в dependencies вместо devDependencies и удалить DEV значение другого свойства.

Все время, когда я нажимаю свой код на Openshift (код папки src), компиляция завершилась неудачно в произвольное время (когда установлены зависимости), и это занимает много времени. Однако, когда я перезагружаю картридж, я вижу журналы, которые я объяснил.

Моя нынешняя ситуация в том, что все выглядит лучше, но проблема в дисковой памяти: недостаточно. Это удивительно, потому что картридж может содержать 1 ГБ, а на моей локальной машине все файлы с зависимостями принимают ~ 148 МБ. Я попытался удалить и заново создать картридж: появляется то же самое.

Кто-нибудь знает, что может быть неправильным здесь? Тот факт, что картридж превышает 1 ГБ, является странным ...

Спасибо всем.

ответ

0

Вот решение ... Я надеюсь, что это сэкономит часы для некоторых людей!

  • Установите режим "производство" в приложении картриджа (так что не загружайте так много дескрипторов):

    rhc set-env NODE_ENV=production --app appname

  • Не забудьте изменить config.js:

    export const port = process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || 3000; export const host = process.env.OPENSHIFT_NODEJS_IP || 'localhost'; export const databaseUrl = 'sqlite:' + process.env.OPENSHIFT_DATA_DIR + 'database.sqlite';

  • app.js Изменить (в том числе хост):

    import { port, host, auth, analytics } from './config'; //... models.sync().catch(err => console.error(err.stack)).then(() => { app.listen(port, host,() => { console.log(`The server is running at http://${host}:${port}/`); });

Смежные вопросы