openimsdk / open-im-sdk-web-wasm

JS SDK for OpenIM Web use by Webassembly of go
https://openim.io
Apache License 2.0
29 stars 37 forks source link

The vite+vue3 project does not support running on browsers below Chrome 80 version #67

Open FairyWorld opened 8 months ago

FairyWorld commented 8 months ago

What happened?

The vite+vue3 project does not support running on browsers below Chrome 80 version. Chrome 80 version only began to support modular import of workers.

The following code is invalid:

// For Vite:
import IMWorker from './worker?worker';
worker = new IMWorker();

// This method cannot use modular './worker.js
// worker = new Worker(new URL('./worker.js', import.meta.url));

open-im-sdk-wasm/lib/api/worker.js, uses modular import syntax, which is not supported in Chrome 80 worker. Unless manually escaped as es5. Expect SDK to perform ES5 conversion instead of users converting this worker

// open-im-sdk-wasm/lib/api/worker.js
import { RPC, RPCMessageEvent } from 'rpc-shooter';
....

What did you expect to happen?

Expect SDK to perform ES5 conversion instead of users converting this worker, Compatible with versions below Chrome80

How can we reproduce it (as minimally and precisely as possible)?

use chrome78-79

Anything else we need to know?

No response

version

```console $ {name} version # paste output here ```

Cloud provider

OS version

```console # On Linux: $ cat /etc/os-release # paste output here $ uname -a # paste output here # On Windows: C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture # paste output here ```

Install tools

Bloomingg commented 7 months ago

You can try with 3.4.1-alpha.8