Express with Nodeを使用してアプリケーションを作成しました。これまでにget要求を出すと、ノード・サーバーからレンダリングされたhtmlファイルが返されます。 私は、ルートを使用してhtmlファイルをレンダリングしました。そして、get要求ごとにhtmlファイルを送信し続けます。GETリクエストがNodeおよびExpress Appでhtmlを返します
ノードアプリのコード
import express from 'express';
import mongoose from 'mongoose';
import bodyParser from 'body-parser';
import passport from 'passport';
import cros from 'cors';
import path from 'path';
import webpack from 'webpack';
import webpackmiddleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';
import webpackConfig from '../webpack.config.dev';
import regusers from './models/regusers.model';
import Router from './routes/UserRouter';
const cross = cros();
const app = express();
const router = express.Router();
const port =3000;
const compile=webpack(webpackConfig);
const db='mongodb://localhost/parkspace';
mongoose.Promise = global.Promise;
mongoose.connect(db);
app.use(webpackmiddleware(compile,{
hot:true,
publicPath: webpackConfig.output.publicPath,
noInfo:true
}));
app.use(webpackHotMiddleware(compile));
app.use(cross);
app.use(router);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended:true
}));
app.get('/*',(req,res) => {
res.sendFile(path.join(__dirname,'./index.html'));
});
Router(app);
app.listen(port,()=> console.log('Running on port: '+port));
私のルーターはこれを克服する方法
import Authentication from '../auth/auth';
import passportService from '../services/passport';
import passport from 'passport';
const requireAuth = passport.authenticate('jwt',{session:false});
const user = (app) => {
app.get('/',requireAuth,function (req,res){
res.send({hi:'there'});
});
app.post('/signup',Authentication.signup);
}
export default user;
を提出しますか?
はい私はそれを知っていますが、リクエストをするときにhtmlファイルを取得しないようにする方法はありますか?私はこのようなhtmlファイルをサーバーにする必要があります。これは、単一ページアプリケーションであり、HTMLファイルを提供する別のルートを定義する反応を使用しています。 – TRomesh
私はReactの経験がありませんが、これはあなたが望むものを達成する方法ではないと思います。 SPAでは、インデックスファイルを毎回レンダリング/送信するのではなく、そのコンテンツだけを保持します。 これはリアクショントピックとして投稿する必要があります。あなたはより良い助けを得るでしょう! –