我正在尝试使用Rollup + React,但是在汇总遇到JSX时遇到一个错误。
Unexpected token... export default () => <p>M...
我有一个触发错误的repo。我使用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"]
}
最佳答案
解决方案是两个交换两个插件的顺序
从:
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()
],
谢谢vladshcherbin。
关于reactjs - 汇总+ React无法编译JSX,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52884278/