Конфликт с страницей индекса реакции и express страницей просмотра - PullRequest
0 голосов
/ 01 мая 2020

У меня проблема с конфликтом при загрузке страницы индекса в моей сборке приложения с использованием реакции на внешнем интерфейсе и express на внутреннем интерфейсе и веб-пакете для создания внешнего модуля. В среде разработки я использовал webpack dev middleware и hot middleware с реагирующей HMRE для создания и обслуживания приложения на локальном хосте. Работает нормально. Проблема возникает, когда я пытаюсь настроить свою сборку prod, в которой я объединяю все виды на стороне сервера и реагирую на пакет как stati c папки и страницы индекса от реагирующих нагрузок, когда фактически должен был быть index.e js с сервера загружен. Проблема в том, что я перестроил пользовательский заголовок и модуль содержимого на странице индекса сервера и на странице индекса переднего плана, у меня есть модуль 'app' для ввода реакции, и я не хочу загружать пользовательский интерфейс реакции, если только пользователи вошли в систему.

Ниже я включил некоторые из моих фрагментов кода в приложение.

Prod Server

app.use('/public', express.static("server/public")); //for server side css
app.use(express.static("client/dist"));  //Only enabled in prod

// Catch no route match, always at the end
app.get('*', function(req, res) {
    res.sendFile(path.resolve(__dirname,'views/index.ejs'));
});

Auth Маршруты для страниц сервера

    // =====================================
    // HOME PAGE (with login links) ========
    // =====================================
    app.get('/', function(req, res) {
        if(req.isAuthenticated()){
            res.redirect('/main');
        }else{
            res.render('index.ejs');
        }
    });
    // =====================================
    // LOGIN ===============================
    // =====================================
    app.get('/login', function(req, res) {
        if(req.isAuthenticated()){
            res.redirect('/posts');
        }else{
            res.render('login.ejs');
        }
    });
    ... 

Примечание: логин и индекс являются сервером вид сбоку. Представления входа в систему нормально загружаются в обоих env. Конфликт с индексной страницей.

Webpack Prod

    entry: [
        './client/src/index'
    ],
    output: {
        path: path.resolve(__dirname, 'client/dist'),
        publicPath: '/',
        filename: 'app.bundle.js'
    },
    mode: 'production',
    target: 'web',
    plugins: [
        new cleanWebpackPlugin(['client/dist']),
        new webpack.NamedModulesPlugin(),
        new webpack.NoEmitOnErrorsPlugin(),
        new webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify('production')
        }),
        new htmlWebpackPlugin({
            template: 'client/index.html'
        })
    ],

Пожалуйста, предложите, как загрузить страницу индекса сервера, если он не вошел в систему, а затем загрузить пакет реакции, когда пользователь вошел в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...