-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to import open-im-sdk-wasm in webpack4.x #73
Comments
npm i patch-package
"scripts": {
+ "postinstall": "patch-package"
}
function initWorker() {
if (typeof window === 'undefined') {
return;
}
// use for webpack 4
const IMWorker = require('worker-loader!./worker.js');
worker = new IMWorker.default();
// use for webpack5+ or vite
// const isViteEnvironment = import.meta.url.includes('.vite/deps');
// const isSupportModuleWorker = supportsModuleWorkers();
// const getWorkerUrl = (url) => url.href.replace('.vite/deps', 'open-im-sdk-wasm/lib');
// const workerUrl = isSupportModuleWorker
// ? new URL('worker.js', import.meta.url)
// : new URL('worker-legacy.js', import.meta.url);
// worker = new Worker(isViteEnvironment ? getWorkerUrl(workerUrl) : workerUrl, {
// type: isSupportModuleWorker ? 'module' : 'classic',
// });
// This is only required because Safari doesn't support nested
// workers. This installs a handler that will proxy creating web
// workers through the main thread
initBackend(worker);
rpc = new RPC({
event: new RPCMessageEvent({
currentEndpoint: worker,
targetEndpoint: worker,
}),
});
}
npx patch-package open-im-sdk-wasm
npm i worker-loader worker-plugin -D
const WorkerPlugin = require("worker-plugin");
...
plugins: [new WorkerPlugin()]
...
import { getSDK } from 'open-im-sdk-wasm';
const IMSDK = getSDK(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What would you like to share?
How to use openIM3. x without upgrading to webpack5, the webpack ^ 4.4.2 used in Vue2
Additional information
No response
The text was updated successfully, but these errors were encountered: