Rollup + React не компилирует JSX - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь использовать Rollup + React, но у меня возникает ошибка, когда в Rollup встречается JSX.

Unexpected token... export default () => <p>M...

У меня есть репо , который вызывает ошибку.Вся документация / примеры, которые я нашел с помощью Rollup + React, не используют последнюю версию Babel, поэтому она может иметь какое-то отношение к Babel.

rollup.config.js:

import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import babel from 'rollup-plugin-babel';
import pkg from './package.json';

export default [{
        input: 'src/index.js',
        output: {
        name: 'index',
        file: pkg.main,
        format: 'umd'
    },
    plugins: [
        resolve(),
        commonjs(),
        babel({ 
            exclude: 'node_modules/**',
            presets: ['@babel/env', '@babel/preset-react']
        })
    ],
    external: [
        'react',
        'prop-types',
    ],
    globals: {
        react: "React"
    }
},
];

.babelrc:

{
  "presets": [
  ["@babel/env", { "modules": false }], "@babel/preset-react"]
}

1 Ответ

0 голосов
/ 19 октября 2018

Решением этой проблемы является замена двух плагинов

с:

plugins: [
    resolve(),
    commonjs(),
    babel({ 
        exclude: 'node_modules/**',
        presets: ['@babel/env', '@babel/preset-react']
    })
],

на:

plugins: [
    resolve(),
    babel({ 
        exclude: 'node_modules/**',
        presets: ['@babel/env', '@babel/preset-react']
    }),
    commonjs()
],

Спасибо Владшербин.

...