create-wasm-app icon indicating copy to clipboard operation
create-wasm-app copied to clipboard

WebAssembly module is included in initial chunk

Open sc-laurence opened this issue 5 years ago • 2 comments

Describe the Bug

I have followed the example https://rustwasm.github.io/docs/book/game-of-life/implementing.htm and modified it to use the petgraph crate and try to build a module to use wasm to store tree structure for JS.

The module compiles and seems to work following the tutorial, however if I tried to include the package locally in another project e.g. https://github.com/bbofrk/trying-wasm, or even tried publishing the package on npm (https://www.npmjs.com/package/wasm-tree-structure) then installing in into another project. I am getting the same error

WebAssembly module is included in initial chunk. friendly-errors 09:45:56 This is not allowed, because WebAssembly download and compilation must happen asynchronous.

Steps to Reproduce

  1. clone https://github.com/bbofrk/trying-wasm
  2. run npm install
  3. run npm run dev
  4. See error

Expected Behavior

Should not see compile error

Actual Behavior

WebAssembly module is included in initial chunk. friendly-errors 09:45:56 This is not allowed, because WebAssembly download and compilation must happen asynchronous.

Additional Context

This might have something to do with my webpack.config.js or in this case nust.config.js but I could not tell what should be included. So apologis in advance if its my personal error

sc-laurence avatar Apr 30 '20 21:04 sc-laurence

I am facing this same problem in vue-cli-service application. The rust-webpack-template works as it is using custom webpack plugin. Does this work with normal webpack configuration where you pull the package from npm? If someone has this working could you kindly post example webpack config and webpack version.

https://github.com/rustwasm/rust-webpack-template:

new WasmPackPlugin({
  crateDirectory: __dirname,
}),

tlaukkan avatar May 02 '20 21:05 tlaukkan

Managed to get this working so that single package works for both node and webpack using manually created package with separate glue js and wasm files. Details here:

https://github.com/rustwasm/wasm-pack/pull/705#issuecomment-623016429

tlaukkan avatar May 03 '20 09:05 tlaukkan