配置后 ERROR in ./node_modules/bpmnlint/lib/linter.js Module parse failed: Unexpected token (63:8) You may need an appropriate loader to handle this file type. | return reports.map(function(report) { | return { | ...report, | category | }; 这个问题该如何解决
时间: 2024-02-14 13:08:42 浏览: 24
该问题是因为 `bpmnlint` 使用了 `...` 语法来展开对象,而这种语法并不是所有浏览器都支持的。为了解决这个问题,你需要使用 `babel-loader` 将 `bpmnlint` 中的代码转换成旧版本的 JavaScript 代码。
你可以按照以下步骤解决这个问题:
1. 安装 `babel-loader` 和 `@babel/core`:
```
npm install --save-dev babel-loader @babel/core
```
2. 在 `webpack` 配置文件中配置 `babel-loader`:
```
module.exports = {
// ...
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
[
'@babel/preset-env',
{
targets: {
browsers: ['last 2 versions', 'safari >= 7'],
},
},
],
],
},
},
},
],
},
};
```
3. 重新运行 `webpack`,检查是否已经修复了错误。
注意:在 `babel-loader` 的选项中配置了 `@babel/preset-env` 来转换 `bpmnlint` 的代码。`@babel/preset-env` 可以根据你的目标浏览器自动转换代码,使其能够在这些浏览器中运行。你可以根据自己的需要进行调整。