【问题标题】:Deploy React.js Starter Kit on Openshift在 Openshift 上部署 React.js 入门工具包
【发布时间】:2016-10-20 11:45:09
【问题描述】:

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

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

这里提到了一个解决方法:How do I modify the node startup command in Open Shift?

所以我修改了 server.js 内容(因为 Openshift 运行 node server.js 命令,而不是在 scripts.startscripts.start 属性中定义的 babel-node tools/run start)推荐的内容和将我的基地server.js 重命名为app.js

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

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

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

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

谢谢大家。

【问题讨论】:

    标签: node.js reactjs deployment openshift starter-kits


    【解决方案1】:

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

    • 将“生产”模式设置为墨盒应用程序(这样就不会下载这么多的 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-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多