Я пытаюсь запустить приложение реакции из моего файла index.ejs. Пакет строит. Однако, когда я направляю этот файл, я получаю 404 в сценарии bundle.js, файл index.ejs находится там и может отображать контент, но не приложение реакции. Кто-нибудь может увидеть, что мне не хватает? Вот как выглядит мой файл index.ejs:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Bookie Lou</title>
</head>
<body>
<div id="root"></div>
<script src="bundle.js"></script>
</body>
</html>
Вот как выглядит мой файл маршрутов, где я устанавливаю, что хочу, чтобы index.ejs отображал запрос на получение '/index/home'
:
const express = require('express');
const router = express.Router();
const { ensureAuthenticated } = require('../config/auth');
router.get('/', (req, res) => res.render('welcome'))
router.get('/dashboard', ensureAuthenticated, (req, res) =>
res.render('dashboard', {
user: req.user
})
);
router.get('/index/home', (req, res) => res.render('index'));
module.exports = router;
Мой веб-пакет выглядит так:
module.exports = {
context:
path.join(__dirname, './src/'),
entry: './index.jsx',
devtool: 'source-map',
output: {
filename: 'bundle.js',
path: path.join(__dirname, '/build'),
},
resolve: {
extensions: ['.js', '.jsx','.json', '.css']
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['babel-loader'],
},
{
test: /\.index$/,
use: 'file?name=[name].[ext]'
},
{
test: /\.html$/,
loader: 'file?name=[name].[ext]',
},
{
test: /\.(gif|jpe?g|png|ico)$/,
use: 'url-loader?limit=1000'
},
{
test: /\.(css|less)$/,
use: ['style-loader', 'css-loader', 'less-loader']
}
],
}
};
Мои файлы реакции, app.jsx и index.jsx, находятся в моей папке src. Мой файл bundle.js находится в папке с именем build. Обе папки находятся в корне.