ここにNoobがあります。私はエクスプレスでOpenshiftでapiサーバーを構築しようとしています。/staticフォルダから静的ファイルを提供できるようにしたい。問題は、私はOpenshiftでそれを設定する方法を理解できないということです。私は考えることができるすべてを試しました。openshift express app提供静的ファイル
私は2つのサーバーファイルを持っています。これはルートのrouter.jsファイルを呼び出すアプリケーションの設定です。
app.js
const Authentication = require('./controllers/authentication');
const passportService = require('./services/passport');
const passport = require('passport');
const requireAuth = passport.authenticate('jwt', { session: false});
const requireSignin = passport.authenticate('local', { session: false});
module.exports = function(app) {
app.post('/signup', Authentication.signup);
app.post('/signin', requireSignin, Authentication.signin);
app.get('/health', function (req, res, next) {
res.writeHead(200);
res.end();
});
----> and/or something here?
}
すべてが静的ファイルを提供する以外に動作
const express = require('express');
const http = require('http');
const bodyParser = require('body-parser');
const morgan = require('morgan');
const env = process.env;
const app = express();
const router = require('./router');
const mongoose = require('mongoose');
const cors = require('cors');
// DB Setup
// default to a 'localhost' configuration:
var connection_string = '127.0.0.1:27017/api:api';
// if OPENSHIFT env variables are present, use the available connection info:
if(env.OPENSHIFT_MONGODB_DB_PASSWORD){
connection_string = env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
env.OPENSHIFT_MONGODB_DB_HOST + ':' +
env.OPENSHIFT_MONGODB_DB_PORT + '/' +
env.OPENSHIFT_APP_NAME;
}
mongoose.connect('mongodb://' + connection_string);
// App Setup
app.use(morgan('combined')); //logging middleware
app.use(cors()); // allow cross origin requests
app.use(bodyParser.json({ type: '*/*'})); //read requests as json
-----> do I need to put something here ????
router(app);
// Server Setup
const port = env.NODE_PORT || 3090;
const ip = env.NODE_IP || 'localhost';
const server = http.createServer(app);
server.listen(port, ip);
console.log('Server listening on: ', port);
router.js。 app.jsファイルにミドルウェア、ルータファイル、またはその両方を配置する必要があるかどうかは不明です。 Openshift環境変数を使用する必要があるかどうかもわかりません。誰かが私を正しい方向に向けることができますか?
EDITを使用して
app.js
に以下を追加することにより、静的なファイルを提供することができます表現:私は、行を追加した後: app.use(express.static( '/静的')); をapp.jsファイルに追加すると、ローカルでは動作しますが、まだOpenshiftでは動作しません。 私は実際にいくつかの助けが必要です。オープンシフトは無料であるため、非常に反応的ではありません。 – Coco