Skip to content
This repository was archived by the owner on Apr 19, 2026. It is now read-only.
This repository was archived by the owner on Apr 19, 2026. It is now read-only.

Uncaught SyntaxError: Unexpected token < #18

Open

Description

@mmwo

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

Activity

  1. mmwo commented on Feb 11, 2019

    @mmwo
    Author

    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

  2. developit commented on Feb 19, 2019

    @developit
    Contributor

    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.

  3. added
    enhancementNew feature or request
    questionFurther information is requested
    wontfixThis will not be worked on
    on Feb 19, 2019
  4. altinselimi commented on Nov 5, 2019

    @altinselimi

    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

  5. maksnester commented on May 12, 2020

    @maksnester

    So what would be the right way of creating an npm library with a builtin web worker?

  6. altinselimi commented on May 12, 2020

    @altinselimi

    @maksnester rollup as a bundler. Check out my kalendar repo for an example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestquestionFurther information is requestedwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions