首页 / 浏览问题 / WebGIS / 问题详情
npm install @supermap/iclient-ol 引用的时候报错
2EXP 2023年09月01日

我vue 里npm install @supermap/iclient-ol,然后引用的时候import { TileSuperMapRest} from '@supermap/iclient-ol'; 然后报了如下错误:

error  in ./node_modules/@elastic/elasticsearch/lib/Serializer.js

Module not found: Error: Can't resolve 'querystring' in 'D:\tour_demo\node_modules\@elastic\elasticsearch\lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "querystring": require.resolve("querystring-es3") }'
        - install 'querystring-es3'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "querystring": false }

1个回答

您好!您使用的是Vue2还是Vue3呢,看报错是因为用的新版本 Webpack 中没有包含 Node.js 核心模块的 polyfill 导致的,这个你看一下install拉的 supermap/iclient-ol包是什么版本的;

可以试试在 Webpack 配置文件中的 resolve.fallback 对象中添加配置:
fallback: {
  querystring: require.resolve("querystring-es3")
}

然后再 npm install querystring-es3

希望可以帮助到您!
1,457EXP 2023年09月01日
...