如何解决CRA + React Leaflet:编译失败
我刚刚使用 create-react-app
开始了一个全新的项目,并按照他们的文档推荐的 this example 设置了 react-leaflet
。
我正在尝试使用 https://datatracker.ietf.org/doc/html/rfc7232#section-2.3 检查是否一切正常,但随后我收到以下错误:
./node_modules/@react-leaflet/core/esm/path.js 10:41
Module parse failed: Unexpected token (10:41)
File was processed with these loaders:
* ./node_modules/react-scripts/node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| useEffect(function updatePathOptions() {
| if (props.pathOptions !== optionsRef.current) {
> const options = props.pathOptions ?? {};
| element.instance.setStyle(options);
| optionsRef.current = options;
看起来 react-scripts
无法处理 react-leaflet
文件。
有人可以帮助我了解为什么会发生这种情况以及如何解决吗?
解决方法
在所有博客上阅读后,我得出结论: 这是因为反应传单的新版本。我遇到了同样的问题,以下是我摆脱错误的方法:
打开您的 package.json 文件
"browserslist": {
"production": [
">0.2%","not dead","not op_mini all"
],"development": [
"last 1 chrome version","last 1 firefox version","last 1 safari version"
]
},
用以下几行替换它:
"browserslist": [
">0.2%",
-
现在删除 node_modeules/.cache 文件夹
-
npm 安装
-
npm start
另一种方法是在 package.json 文件中添加这些行:
"react-leaflet": ">=3.1.0 <3.2.0 || ^3.2.1","@react-leaflet/core": ">=1.0.0 <1.1.0 || ^1.1.1"
- 这将跳过新发布的@react-leaflet/core package 版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。