【发布时间】:2021-05-22 02:44:08
【问题描述】:
我已经与react-leaflet 合作了几个星期,没有任何问题。我有一个坏主意来清理我的 node_module 目录,从那时起我在捆绑我的应用程序(使用 webpack 4)时收到以下错误:
[error] ./node_modules/@react-leaflet/core/esm/path.js 10:41
[error] Module parse failed: Unexpected token (10:41)
[error] File was processed with these loaders:
[error] * ./node_modules/source-map-loader/index.js
[error] You may need an additional loader to handle the result of these loaders.
[error] | useEffect(function updatePathOptions() {
[error] | if (props.pathOptions !== optionsRef.current) {
[error] > const options = props.pathOptions ?? {};
[error] | element.instance.setStyle(options);
[error] | optionsRef.current = options;
我知道source-map-loader 对第 10 行发现的无效合并运算符不满意。所以我之前简单地添加了babel-loader,现在一切正常。
但我仍然想了解 NPM 的混乱情况:
-
- 我是 Javascript 世界的新手,但库作者不应该在 NPM 上提供普通的旧 javascript 吗??
-
- 有趣的是,在恢复我删除的
node_modules目录后(我保留了一份),我发现第10行被const options = (_props$pathOptions = props.pathOptions) != null ? _props$pathOptions : {};替换了......怎么可能完全相同版本的react -leaflet (v3.1.0) 几周前是普通的旧 javascript,现在不是了??
- 有趣的是,在恢复我删除的
注意:我使用节点 14.17.0 和 npm 6.14.13
【问题讨论】:
-
嗯,它是普通的旧 JavaScript,只是不是您支持的 JavaScript 版本。
标签: javascript webpack