我正在尝试使用Web控制台在OpenShift容器平台上托管Node js应用。
我的应用程序是简单的节点js应用程序,可提供静态React故事书构建文件。
我可以让我的应用程序在本地主机上运行,但是服务/托管不能在开放式班次中运行。我在OpenShift日志中也看不到任何构建/部署错误。 POD也已成功创建。
从日志中,我可以看到React的Storybook构建成功,并且创建了构建文件夹。它还将映像推送到Docker注册表并成功推送。 部署后,如果我打开网址,该网址有时会空白,然后显示“无法访问网站”。
这是文件夹结构:
package.json
index.js
client
build
node_modules
src
package.json
父package.json包含以下脚本
"scripts": {
"start": "node index.js",
"postinstall": "cd client && npm run buildClient", /* build client will start storybook build and create build folder*/
"test": "echo \"Error: no test specified\" && exit 1"
}
这是我的index.js
const app = express();
app.use(express.static(path.join(__dirname, 'client/build')));
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: false }));
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: false }));
app.use(express.static(path.join(__dirname, 'client/build')));
app.get('/*', function(req, res) {
res.sendFile(path.join(__dirname, 'client/build', 'index.html'));
});
const port = process.env.PORT || 8080;
app.listen(port);
module.exports = app;
我希望一旦Pod创建完成,托管网址就会打开故事书。但是,如果我打开网址一段时间后显示为空白,则显示“无法访问网站”