繁体   English   中英

在Openshift上部署React.js入门套件

[英]Deploy React.js Starter Kit on Openshift

我正在尝试在Openshift上部署React.js入门套件(可在此处获得: https//github.com/kriasoft/react-starter-kit )。 为此,我修改了一些我在这里解释的小事。

首先,Openshift中的日志告诉我, servers.js文件中的import关键字无法识别。 我认为Openshift目前还没有使用Babel。

此处提到了解决方法: 如何在Open Shift中修改节点启动命令?

所以我修改了server.js内容(因为Openshift使用推荐的内容运行node server.js命令而不是package.jsonscripts.start属性中定义的babel-node tools/run startscripts.start命名我的基本server.jsapp.js

现在,日志告诉我没有找到babel-core所以我修改了package.json文件,将babel-corebabel-cli放在dependencies而不是devDependencies并删除另一个属性的DEV值。

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

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

有人知道这里有什么问题吗? 卡片超过1GB的事实很奇怪......

谢谢你们。

这是解决方案......我希望它可以节省一些人的时间!

  • 将“生产”模式设置为盒式磁带应用程序(以便在不下载这么多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}/`); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM