NextJs / Express TypeError: _typeof не является функцией в _app.js - PullRequest
0 голосов
/ 26 июня 2019

Я некоторое время работал над проектом с next.js, но когда пришло время развертывать вживую, я начал странно себя вести из express.Я использую next.js, выражаю в качестве внутреннего сервера и использую persist для сохранения некоторых моих данных при необходимости в браузере клиента.

pages / _app.jsx

// @flow
import * as React from 'react';
import App, {Container} from 'next/app';
import { I18nextProvider } from 'react-i18next';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';
import { getPersistor, getStore } from '../store/configureStore';
import i18n from '../utils/i18n';

type Props = {
    Component: Object,
    pageProps: Object
}

export default class MyApp extends App<Props> {
    render() {
        const { Component, pageProps } = this.props;
        return (
            <Container>
                <I18nextProvider i18n={i18n}>
                    <Provider store={getStore()}>
                        <PersistGate
                            loading={null}
                            persistor={getPersistor()}
                        >
                            <Component {...pageProps} />
                        </PersistGate>
                    </Provider>
                </I18nextProvider>
            </Container>
        );
    }
}

Конфигурация моего магазина ../store/configureStore.js

import { createStore, applyMiddleware } from 'redux';
import reducer from '../reducers';
import { persistStore } from 'redux-persist';
import { composeWithDevTools } from 'redux-devtools-extension';

let _persistor;
let _store;

// export const history = createBrowserHistory();

export const getStore = (props) => {
    if (_store) {
        return _store;
    }
    const initialState = (props) ? {...props} : {};
    _store = createStore(
        reducer,
        initialState,
        composeWithDevTools(applyMiddleware())
    );

    _persistor = persistStore(_store);

    return _store;
};

export const getPersistor = () => {
    return _persistor;
};

наконец мой файл server.js

const express = require('express');
const next = require('next');
const Router = require('./utils/dynamicRoutes');
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = Router.getRequestHandler(app);
const port = process.env.PORT || 3000;

const bodyParser = require('body-parser');

app.prepare()
    .then(() => {
        const server = express();
        server.use(bodyParser.json());
        server.use(bodyParser.urlencoded({ extended: true }));

        server.get('*', (req, res) => handle(req, res));

        server.listen(port, (err) => {
            if (err) throw err;
            console.log(`> Ready on http://localhost:${port}`);
        });
    })
    .catch((ex) => {
        console.log(ex);
        console.error(ex.stack);
        process.exit(1);
    });

Вот проблема.Когда я запускаю сервер как NODE_ENV=production node server.js, я получаю эту проблему

TypeError: _typeof is not a function
    at _interopDefault (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:237:48)
    at Object._interopDefault (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:239:15)
    at call (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:23:31)
    at Object.__webpack_require__ (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:2422:15)
    at call (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:23:31)
    at Module.__webpack_require__ (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:4050:12)
    at call (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:23:31)
    at Object.__webpack_require__ (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:137:18)
    at call (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:23:31)
    at __webpack_require__ (/mnt/sdb1/public/with-jest-flow-app/.next/server/static/GxzjAOI9ZeWUXNEi6WAv6/pages/_app.js:91:18)

Я карри, если бы кто-то сталкивался с этой проблемой раньше, и было бы здорово, если кто-нибудь поможет мне решить ее

Я тоже здесь задавал вопрос -> https://github.com/zeit/next.js/issues/7678

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