1

React.js のスターター キット ( https://github.com/kriasoft/react-starter-kitから入手可能) を Openshift にデプロイしようとしています。そのために、ここで説明するいくつかの小さな変更を加えました。

まず、Openshift のログには、 servers.jsファイルのimportキーワードが認識されていないことが示されています。現時点では、Openshift では Babel は使用されていないと思います。

その回避策がここに記載されています: Open Shift でノード起動コマンドを変更するにはどうすればよいですか?

そのため、server.jsコンテンツを推奨コンテンツで変更し (Openshift はnode server.jsコマンドを実行し、 のプロパティでbabel-node tools/run start定義されていないため)、ベースの名前を に変更しました。scripts.startpackage.jsonserver.jsapp.js

現在、ログはbabel-core見つからないことを示しているので、package.jsonファイルを変更してbabel-core、別のプロパティの値を削除するbabel-cli代わりdependenciesに挿入しました。devDependenciesDEV

コードを Openshift にプッシュすると (srcフォルダーのコード)、コンパイルがランダムに失敗し (依存関係がインストールされたとき)、長い時間がかかります。ただし、カートリッジを再起動すると、説明したログが表示されます。

私の現在の状況では、状況は良くなっていますが、問題はディスク容量です。十分ではありません。カートリッジは 1GB をホストでき、ローカル マシンでは依存関係のあるすべてのファイルが最大 148MB かかるため、これは驚くべきことです。カートリッジを削除して再作成しようとしましたが、同じことが表示されます。

ここで何が間違っているのか知っている人はいますか? カードリッジが1GB超えるのがおかしい…

皆さん、ありがとうございました。

4

1 に答える 1

0

これが解決策です...一部の人々にとっては時間を節約できることを願っています!

  • 「本番」モードをカートリッジ アプリに設定します (これにより、多くの inode がダウンロードされなくなります)。

    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}/`); });

于 2016-06-20T17:47:47.113 に答える