Export from old school libraries in Webpack
As you are refactoring your legacy Rails project towards webpack and away from
the asset pipeline you discovered an old version of the facebook_sdk
that is
absolutely critical to the ongoing success of the legacy application. This file doesn't play nicely with CommonJS though and exports its constant with global declarations like:
var FB = {};
This isn't very global in CommonJS and your app doesn't have access to that constant anymore.
The problem can be solved with the exports-loader
used like so:
module.exports = {
module: {
rules: [
{
test: /facebook_sdk/,
loader: 'exports-loader?FB',
}
]
}
}
This is just a cute way of tacking an export line to the bottom of the file like this:
module.exports = FB;
Tweet