Javascript 尝试在prod中生成ReactJS应用程序-模块生成失败:SyntaxError:意外令牌

Javascript 尝试在prod中生成ReactJS应用程序-模块生成失败:SyntaxError:意外令牌,javascript,reactjs,Javascript,Reactjs,我已经有一段时间没有在一系列更改后将React应用程序推送到prod环境中了(我知道这很愚蠢),现在当我尝试为prod构建它时,构建失败了,我得到了以下错误: ./src/app.js中的错误 模块生成失败:语法错误:意外令牌(9:16) 7 | 8 | >9 | ReactDOM.render(,document.getElementById('app')); | ^ 10 | 11 | @multi@babel/polyfill./src/app.j

我已经有一段时间没有在一系列更改后将React应用程序推送到prod环境中了(我知道这很愚蠢),现在当我尝试为prod构建它时,构建失败了,我得到了以下错误:

./src/app.js中的
错误
模块生成失败:语法错误:意外令牌(9:16)
7 | 
8 | 
>9 | ReactDOM.render(,document.getElementById('app'));
|                 ^
10 | 
11 | 
@multi@babel/polyfill./src/app.js

错误命令失败,退出代码为2。
编辑:很抱歉我写了。babel.rc,它是。babelrc


让babel loader使用预设react 看起来Babel将您的文件解释为常规JavaScript,而不是React JSX(或其他任何名称)

我在您使用的package.json中看到了这一点,因此如果配置良好,它应该可以工作

内华达州 检查你的.babelrc文件,它应该包含如下内容:

{
  "presets": ["@babel/preset-react"]
}
您还可以将文件的扩展名更改为
.jsx
,这样会更清晰,但这取决于您个人的喜好

在webpack.config.js中 或者,您可以在webpack配置中定义它。替换此项:

loader: 'babel-loader',
使用以下内容(在webpack.config.js中):

检查包的名称 仔细查看您的package.json,它包含:

"babel-preset-env": "1.5.2",
"babel-preset-react": "6.24.1",
但是您使用的是
@babel/preset env
@babel/preset react
。因此,
npm安装——保存这些,并从package.json中删除旧的

运行
babel--presets@babel/preset react./src/app.js
,查看预设是否存在并起作用:

运行时应打印到控制台:

ReactDOM.render(React.createElement(AppRouter,null),document.getElementById('app')


^这是babel成功地将JSX转换为JS。

编辑:对不起,我写了。babel.rc,它是。babelrc


让babel loader使用预设react 看起来Babel将您的文件解释为常规JavaScript,而不是React JSX(或其他任何名称)

我在您使用的package.json中看到了这一点,因此如果配置良好,它应该可以工作

内华达州 检查你的.babelrc文件,它应该包含如下内容:

{
  "presets": ["@babel/preset-react"]
}
您还可以将文件的扩展名更改为
.jsx
,这样会更清晰,但这取决于您个人的喜好

在webpack.config.js中 或者,您可以在webpack配置中定义它。替换此项:

loader: 'babel-loader',
使用以下内容(在webpack.config.js中):

检查包的名称 仔细查看您的package.json,它包含:

"babel-preset-env": "1.5.2",
"babel-preset-react": "6.24.1",
但是您使用的是
@babel/preset env
@babel/preset react
。因此,
npm安装——保存这些,并从package.json中删除旧的

运行
babel--presets@babel/preset react./src/app.js
,查看预设是否存在并起作用:

运行时应打印到控制台:

ReactDOM.render(React.createElement(AppRouter,null),document.getElementById('app')


^这是babel成功地将JSX转换为JS。

这是我的.babel.rc文件:{“预设”:[“env”,“react”]}我应该替换这些预设还是添加到它们中?好的,您的预设中已经有了“react”。。。因此,这里没有要添加/替换的内容。请尝试运行
babel--presets@babel/preset react./src/app.js
,如果运行正常,那么您的.babel.rc是正确的,可能是网页配置有问题。当我运行时,我遇到以下错误:错误:找不到相对于目录的预设“@babel/preset react”。/src你好,雨果-我只是想检查一下,如果出现上述错误消息,您是否知道应该尝试什么。我看过类似问题的答案,但找不到任何有效的答案:/Ok,所以如果它说在/src中找不到它,那是因为它不在那里。。。我试过并得到了同样的结果——它是什么?
babel--presets../node_modules/babel preset react src/app.js
这是我的.babel.rc文件:{“presets”:[“env”,“react”]}我应该替换或添加这些预设吗?好的,你的预设中已经有了“react”。。。因此,这里没有要添加/替换的内容。请尝试运行
babel--presets@babel/preset react./src/app.js
,如果运行正常,那么您的.babel.rc是正确的,可能是网页配置有问题。当我运行时,我遇到以下错误:错误:找不到相对于目录的预设“@babel/preset react”。/src你好,雨果-我只是想检查一下,如果出现上述错误消息,您是否知道应该尝试什么。我看过类似问题的答案,但找不到任何有效的答案:/Ok,所以如果它说在/src中找不到它,那是因为它不在那里。。。我试过并得到了同样的结果——它是什么?
babel--presets../node\u modules/babel preset react src/app.js