Javascript 尝试在prod中生成ReactJS应用程序-模块生成失败:SyntaxError:意外令牌
我已经有一段时间没有在一系列更改后将React应用程序推送到prod环境中了(我知道这很愚蠢),现在当我尝试为prod构建它时,构建失败了,我得到了以下错误: ./src/app.js中的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
错误
模块生成失败:语法错误:意外令牌(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