@ babel / register не преобразует мой код в es6, реагирует - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь сделать SSR-версию реактора, поэтому мне нужно импортировать компонент React в узел. Однако @ babel / register, по-видимому, не преобразует код, основанный на моем файле babel.config. js

server / index. js file require ('frontendMiddleware. js')

и во внешнем программном обеспечении frontend. js

module.exports = (app, options) => {
  const isProd = process.env.NODE_ENV === 'production';

  if (isProd) {
    require('@babel/register')(require('../../babel.config.js'));
    const addProdMiddlewares = require('./addProdMiddlewares');
    addProdMiddlewares(app, options);
  } else {
    const webpackConfig = require('../../internals/webpack/webpack.dev.babel');
    const addDevMiddlewares = require('./addDevMiddlewares');
    addDevMiddlewares(app, webpackConfig);
  }

  return app;
};

Ошибка запуска сервера узла

import React from 'react'
       ^^^^^

SyntaxError: Unexpected identifier

babel.config. js

module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        modules: false,
      },
    ],
    '@babel/preset-react',
  ],
  plugins: [
    'styled-components',
    '@babel/plugin-proposal-class-properties',
    '@babel/plugin-syntax-dynamic-import',
  ],
  env: {
    production: {
      plugins: [
        'lodash',
        'transform-react-remove-prop-types',
        '@babel/plugin-transform-react-inline-elements',
        '@babel/plugin-transform-react-constant-elements',
      ],
    },
    test: {
      plugins: [
        '@babel/plugin-transform-modules-commonjs',
        'dynamic-import-node',
      ],
    },
  },
};

I Я видел, что мой проект имеет точно такую ​​же настройку для реагирования SSR, но этот не работает.

...