webpack-inject-plugin

A webpack plugin to dynamically inject code into the bundle.
You can check out an example here
Usage
# webpack.config.js
const InjectPlugin = require('webpack-inject-plugin').default;
module.exports = {
plugins: [
new InjectPlugin(function() {
return "console.log('Hello World');"
});
]
};
This webpack plugin accepts a single argument, a function to which returns the code to inject into the bundle.
The function is called using the same context as the loader, so everything here applies.
options
You can also pass in more options:
import InjectPlugin, { ENTRY_ORDER } from 'webpack-inject-plugin';
new InjectPlugin(loader, {
entryName: 'entry name',
order: ENTRY_ORDER.First
ENTRY_ORDER.Last
ENTRY_ORDER.NotLast
});
You can either return the raw content to load, or a Promise
which resolves to the content, if you wish to be async.
Though this could be used as a standalone plugin, you could also use it to create other webpack plugins, such as injecting code into the build based on a config file.
Example:
import InjectPlugin from 'webpack-inject-plugin';
function customLoader(options) {
return () => {
return "console.log('My custom code generated from `options`');"
}
}
export default class MyPlugin {
constructor(options) {
this.options = options;
}
apply(compiler) {
new InjectPlugin(customLoader(this.options)).apply(compiler);
}
}
Contributors
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!