webpack.js.org icon indicating copy to clipboard operation
webpack.js.org copied to clipboard

Explain what is `output.chunkLoadingGlobal`

Open yvele opened this issue 3 years ago • 2 comments

Feature to document

output.chunkLoadingGlobal

Author(s)

Additional information

Previously on Webpack 4 we had a decently documented output.jsonpFunction output configuration option.

Looks like peoples says that Webpack 4 output.jsonpFunction is now Webpack 5 output.chunkLoadingGlobal:

  • https://github.com/webpack/webpack.js.org/issues/3942
  • https://github.com/webpack/webpack.js.org/issues/3940

But the documentation in Webpack 5 is pretty poor:

  • Webpack 5 (now): https://webpack.js.org/configuration/output/#outputchunkloadingglobal
  • Webpack 4 (before): https://v4.webpack.js.org/configuration/output/#outputjsonpfunction

I don't understand the difference between jsonpFunction and chunkLoadingGlobal. Could you explain in the documentation that exactly is chunkLoadingGlobal and most importantly: What problem does is solves? 🤔

For example I have an erratic TypeError: webpack_modules[moduleId] is not a function and I'm not sure if chunkLoadingGlobal may solve the problem 🤔

Should we systematically define a specific chunkLoadingGlobal when we run multiple Webpack instances on the same page? Why?

Is this 2017 article still https://medium.com/@cliffers/how-to-run-multiple-webpack-instances-on-the-same-page-and-avoid-any-conflicts-4e2fe0f016d1 still relevant?

  • [x] I am willing to work on this issue and submit a pull request.

yvele avatar Aug 16 '22 11:08 yvele

Hum I see... it's also about output.uniqueName

yvele avatar Aug 16 '22 15:08 yvele

Also an interesting thing I'd like to see explained in the docs is how does this field affect webpack configs with multiple entrypoints.

i.e. if I set chunkLoadingGlobal to myCustomGlobalName and then have two different entry points declared, wont both of those entry points use myCustomGlobalName?

and then if both of those entry points are loaded on the same page (but separately), won't they overwrite each others myCustomGlobalName objects?

how do you work around that? is there a way to set unique chunkLoadingGlobal on a per entrypoint basis?

edit: also asked here: https://github.com/webpack/webpack.js.org/issues/3940#issuecomment-829961697

ReinisV avatar Apr 20 '23 08:04 ReinisV