[英]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.json
的scripts.start
属性中定义的babel-node tools/run start
) scripts.start
命名我的基本server.js
到app.js
现在,日志告诉我没有找到babel-core
所以我修改了package.json文件,将babel-core
和babel-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.