Awesome Open Source
Awesome Open Source

microservices-webpack-plugin

Greenkeeper badge

This plugin solves problem with repeating packages from node_modules in microservices' chunks. It uses unpkg to load npm packages.

Installation

npm install -D microservices-webpack-plugin

Let's try with react. Modify your microservice's webpack.config:

  • output.libraryTarget must be amd
  • add to plugins
new MicroservicesWebpackPlugin({
  modules: [
    { name: 'react', path: `umd/react.production.min.js` },
  ]
})

Scenario

You're using microservices with solutions such as Tailor.

You have many microservices which relays on the same version of some node_modules dependency.

You wonder how to don't load some node_modules dependency in every chunk.

Problem

Tailor sends client application to browser via headers (more specifically via Link). And later it uses require.js to execute in browser. It expects that some node_modules dependency is inside client application or was loaded earlier. To solve that you could:

add required libraries to tailor's template.

create microservice which should gather common libraries into its chunk.

It's not the best approach because it makes invisible relation between microservices

  • write in some node_modules dependency into Header.Link

Your chunk has required dependency some node_modules dependency and first of all it will try load some node_modules dependency from tailor's host

Inspiration Webpack CDN Plugin

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,072,919
Plugin (113,722
Webpack (23,673
Microservice (12,069
Chunk (4,345
Tailor (12