升级到 11.1.0报错
Closed this issue · 9 comments
Request a feature or report a bug? [这是一个需求还是一个缺陷]
One-line summary [问题简述]
Version [产品及版本]
- iClient product (for leaflet,for openlayers,for mapboxgl,classic)[iClient 产品]:
- iClient version [iClient 版本]:^11.1.0
- Browser version [浏览器类型和版本]:
- OS Version [操作系统类型和版本]:
Actual Behavior [当前现象]
Expected Behavior [期望现象]
Example of reproducing the issue [重现现象的例子]
What is motivation or use case for changing the behavior? [需求的场景和目的是什么?]
这个是因为iClient-Javascript引入的三方库所依赖的node模块缺失导致的报错。webpack5和vite默认没有包含node相关模块。
解决方案如下:
方案一: 等待11.1.1版本发布
方案二:如果使用webpack5, 可以 配置按需引入
方案三:安装配置对应的node模块, 以webpack5为例 ,
(1)首先安装依赖
npm i stream-http https-browserify stream-browserify tty-browserify browserify-zlib os-browserify buffer url assert process events util -D
(2)配置webpack.config.js
module.exports: { resolve: { alias: { process: 'process/browser', }, mainFields: ['browser', 'main'], fallback: { fs: false, http: require.resolve('stream-http'), https: require.resolve('https-browserify'), os: require.resolve('os-browserify/browser'), stream: require.resolve('stream-browserify'), tty: require.resolve('tty-browserify'), zlib: require.resolve('browserify-zlib'), assert: require.resolve('assert'), util: require.resolve('util'), events: require.resolve('events') } } plugins: [ new webpack.ProvidePlugin({ process: 'process/browser', Buffer: ['buffer', 'Buffer'] }), ] }
vite 的配置按需引入还是报这个错, 这样的话是不是只能等待 11.1.1 或者 回退版本到 11.0.1 啊 ?
webpack才有按需引入的配置, vite没有;
vite同样安装配置对应的node模块也可以
1.安装 npm i buffer events os-browserify util -D
2.配置vite.config.js
export default defineConfig({
define: {
'process.env': {},
'process.version': `''`,
},
resolve: {
alias: {
os: 'os-browserify/browser'
},
},
});
请问, 什么时候能升级到11.1.1呀, 能不能尽快解决这些问题, 赶紧上线
@godeev
11.1.1已经修复了这个问题, 不用再安装buffer等依赖和配置defined和alias