Javascript 节点\模块包导入上出现意外标识符

Javascript 节点\模块包导入上出现意外标识符,javascript,node.js,typescript,mapbox,yarnpkg,Javascript,Node.js,Typescript,Mapbox,Yarnpkg,我正在尝试使用此插件,但一旦我将插件安装到我的项目中,我在每个导入语句中都会出现以下错误: .../node_modules/@mapbox/mapbox-gl-accessibility/index.js:3 import xtend from 'xtend'; ^^^^^ SyntaxError: Unexpected identifier 在我看来,软件包的依赖项没有被读取/安装 我试过/考虑过: 从node_模块内跳入包并运行 Thread命令(这应该不是必需的,因为

我正在尝试使用此插件,但一旦我将插件安装到我的项目中,我在每个导入语句中都会出现以下错误:

.../node_modules/@mapbox/mapbox-gl-accessibility/index.js:3

import xtend from 'xtend';
       ^^^^^
SyntaxError: Unexpected identifier
在我看来,软件包的依赖项没有被读取/安装

我试过/考虑过:

  • 从node_模块内跳入包并运行 Thread命令(这应该不是必需的,因为我有一个warn.lock 为我做这件事的文件)
  • 将语法更改为使用需要语法来代替导入
  • 我的项目没有要在脚本标记中加载“type:module”的html文件

有没有人遇到过这个问题,并且知道我如何解决它?

可能是因为您忘记了使用babel转换ES6语法

导入是ES6语法

如果您使用的是webpack,则需要安装babel loader

npm install -D babel-loader @babel/core @babel/preset-env webpack
并在webpack.config.js中添加配置

模块:{
规则:[
{
测试:/\.m?js$/,,
排除:/(节点模块|鲍尔组件)/,
使用:{
加载器:“巴别塔加载器”,
选项:{
预设:['@babel/preset env']
}
}
}
]

}
您使用的构建工具和版本是什么?它是否支持ESM模块?