In isomorphic react app I have myModule
which should behave differently on node and browser environments. I would like configure this split point i
If you look at tools/webpack.config.js
in React Starter Kit you will see that it exports two Webpack configurations that slightly differ, e.g. module.exports = [clientConfig, sererConfig]
. The server-side bundle config has this field target
set to node
(by default it's web
).
https://webpack.github.io/docs/configuration.html#target
The approach that you described works great for modules that have exactly the same API but different implementations, like in the case with HTTP client utility that uses XMLHttpRequest
in its browser-specific implementation and Node's http
module in its server implementation:
https://github.com/kriasoft/react-starter-kit/tree/master/src/core/fetch