comlink-loader icon indicating copy to clipboard operation
comlink-loader copied to clipboard

[v2] comlink needs to be an external for server bundle

Open jackyef opened this issue 5 years ago • 1 comments

I was playing around with comlink-loader with an isomorphic react app. I used multi and inline options.

For the client bundle, everything works fine, but it failed when bundling the server bundle.

export 'expose' was not found in 'comlink'

After some digging, I found out that it is fixed after I add /^comlink/ to webpack externals. (My webpack externals config is a bit different, I do not use webpack-node-externals)

So, is it expected that comlink only work when externalised? It didn't throw any error on v1 though.

jackyef avatar Jan 16 '20 02:01 jackyef

I haven't had a chance to dig into it yet, but my guess is that this happens due to your bundler ending up choosing the browser version of Comlink rather than the Node version. This is a tricky subject, since bundlers are often configured to prefer "browser" over "main".

developit avatar Feb 21 '20 01:02 developit