umi 3 环境下使用 webpack 编译 react-leaflet 报 Module parse failed: Unexpected token (10:41) ,一种解决办法。
·
./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;
直接给出我的解决办法:源码集成!
Github 上有过 Issue 报告,但好像一致没有得到回应,留言里面各种方案大多试了一下,不是没效果,就是不知道怎么用在我的 umi 工程里面。
经历两天的折磨以后,突然想试试直接 copy 到工程里面试试,兴许可行。
于是说干就干,源码我copy的是node_modules里面的js代码,ts文件没要,然后对copy后的代码修正import路径,大概一个多小时就干完啦。
最后 npm uninstall 删除 react-leaflet 本体,再 npm start 跑起来,没有问题,竟然有效!
如下图,仿照源码库分了目录:

我的体会就是,像这种 github 上面开源的小库,作者一个人也许并没有完全顾得上能解决大家提出的所有问题(或者说作者自己早就对此不感兴趣了,从此不维护了),然而对于决定在自己项目代码中使用此开源库的人来说又是刚需,不妨考虑直接源码继承,反正代码也不多,集成以后还能达到自主可控的效果。
更多推荐


所有评论(0)