worker-plugin
worker-plugin copied to clipboard
Uncaught SyntaxError: Unexpected token <
I wanted to create an npm package that internally uses web worker. I got working configuration for that in the worker-loader package for webpack as follows.
{
test: /\.worker\.js$/,
use: {
loader: 'worker-loader',
options: {
inline: true
}
}
}
then I could use my library in some react project like that
import {BoardGenerator} from '@yufuzu/shipbattle-board';
const generator = new BoardGenerator();
Board generator is my npm library that uses it's web worker.
When I switched to this plugin I get an error that it cannot find web worker. Everything compiles properly and I am able to see use it in live mode in the browser. (From this project npm start). Problem occurs only when I import that library in some other project.
Repo:
https://github.com/Jitra/shipbattle-generatorv2 working in here npm start
React repo importing npm package:
https://github.com/Jitra/react-shipbattle-generator-example not working here
Old version with worker-loader
https://github.com/Jitra/shipbattle-generator
I appreciate your work for using webworker with module imports. Any plans of supporting web workers that are imported from node_modules lib. Now there are two libraries:
worker-loader Works imported from node_modules, by inline:true, but no web worker type: module supported
worker-plugin supports worker type: module, but but not inlining as plugin above :(
I wish to switch from worker-loader to this plugin for module importing support in web workers but I stuck
Bundling a worker to a data URI is generally not a good idea. It's putting extra strain on the parser in the main thread for no reason.
I'm not sure there is a reasonable way to make this work - webpack's output isn't really designed to be nested inside another Webpack bundle, it breaks things like pathing.
Im running in the same issue with a library I published some time ago. Worker-loader is failing to recognize the inline option so I had to move to worker-plugin, but I'm still not being able to get it to a working state. Is there any way to mirror worker-loader's inline method ?
Repo: https://github.com/altinselimi/kalendar/tree/worker-plugin
So what would be the right way of creating an npm library with a builtin web worker?
@maksnester rollup as a bundler. Check out my kalendar repo for an example.