mkdir express-react
cd express-react
npm install express
아래와 같은 구조가 만들어진다.
mkdir public
cd public
touch main.html
const express = require('express');
const app = express();
const path = require("path");
app.use("/", express.static( path.join( __dirname, "public") ) );
app.get('/', function (req, res) {
res.sendFile( path.join( __dirname, "public/main.html") );
});
대충 이런 구조가 된다.
서버 실행 후 확인
node index.js
여기까지 나오면 성공
npx create-react-app react-project
cd react-project
npm run build
const express = require('express');
const app = express();
const path = require("path");
app.use("/react", express.static( path.join( __dirname, "react-project/build") ) );
app.use("/", express.static( path.join( __dirname, "public") ) );
// /react 로 접속하면 리액트 라우팅 사용 가능
app.get('/react', function (req, res) {
res.sendFile( path.join( __dirname, "react-project/build/index.html") );
});
// / 로 접속하면 express 라우팅 사용 가능
app.get('/', function (req, res) {
res.sendFile( path.join( __dirname, "public/main.html") );
});
var server = app.listen(3001, function () {
var host = server.address().address;
var port = server.address().port;
});
"homepage": "/react"