1

我正在尝试在 Openshift 上部署 React.js 的 Starter Kit(可在此处获取:https ://github.com/kriasoft/react-starter-kit )。为此,我修改了一些我在这里解释的小东西。

首先,Openshift 中的日志告诉我,servers.jsimport文件中的关键字无法识别。我认为 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-corebabel-cli放入dependencies而不是devDependencies删除DEV另一个属性的值。

一直以来,当我在 Openshift 上推送我的代码(src文件夹的代码)时,编译会随机失败(安装依赖项时)并且需要很长时间。但是,当我重新启动磁带时,我可以看到我解释过的日志。

我目前的情况是情况看起来好多了,但问题是磁盘空间:不够。这让我感到惊讶,因为磁带盒可以承载 1GB,而在我的本地计算机上,所有具有依赖关系的文件都需要大约 148MB。我试图删除并重新创建墨盒:出现同样的事情。

有人知道这里有什么问题吗?cardridge超过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 回答