巴别塔给了我以下错误:
../../node_modules/next/dist/pages/_error.js
SyntaxError: JSON5: invalid character 'm' at 3:1
我的.babelrc
和babel.config.cjs
:
/* eslint-disable no-template-curly-in-string */
module.exports = {
presets: [['next/babel']],
plugins: [
[
'babel-plugin-transform-imports',
{
lodash: {
transform: 'lodash/${member}',
preventFullImport: true,
},
'@mui/material': {
transform: '@mui/material/${member}',
preventFullImport: true,
},
'@mui/icons-material': {
transform: '@mui/icons-material/${member}',
preventFullImport: true,
},
'@mui/lab': {
transform: '@mui/lab/${member}',
preventFullImport: true,
},
<snip>
1条答案
按热度按时间e5nqia271#
根据babel * 配置文件 * 文档:
.babelrc
是.babelrc.json
的别名以及
babel.config.json
和.babelrc.json
被解析为JSON5,并且应该包含一个对象...您收到的错误消息证实了这一点:Babel将文件解析为JSON5,从第3行第1列开始,内容不是有效的JSON5。如果您从该行删除
module.exports =
,错误将得到修复。(我不知道你的
.babelrc
中是否有其他错误,因为你没有提供完整的文件。一旦你修复了上面的行,你就会发现。另一方面,您的文件
babel.config.cjs
应该是有效的Javascript,您需要保留module.exports =
。或者您可以将其重命名为babel.config.json
,并使用与您的.babelrc
相同的格式。您可能还希望将
.babelrc
重命名为.babelrc.json
,以便在其名称中明确显示其格式。