问题描述
我们正在开发以下模块 js(仅限 javascript),它允许生成随机颜色。 链接:Github
当我们尝试在 codesandbox 上的示例上安装模块时,我们没有问题。
但是当我们在本地项目上安装模块时,会出现以下错误:
./node_modules/random-colors-palette/randomColors.js 141:39
Module parse Failed: Unexpected token (141:39)
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.
| if (!repeat) {
| delete cc[hueNumber].shades[shadeR[0]];
> if (Object.entries(cc[hueNumber]?.shades).length === 0) cc.splice(hueNumber,1);
| }
|
问题似乎是由于在相关行中使用了 ?
(可选的连接运算符)。
我们如何解决这个问题,我是否需要在项目配置中添加一些其他文件以确保我没有这些问题?
模块不仅应该用于reactjs,还可以作为模块纯js代码。
你能帮我们一把吗?
解决方法
你需要babel-plugin-proposal-optional-chaining
。
它包含在 ES2020
babel 预设中。
你的.babelrc
应该是
{
"presets": ["es2020"]
}
如果您不使用预设,请手动将插件添加到您的 babel 配置中