Sponsor webpack and get apparel from the official shop or get stickers here! All proceeds go to our open collective!

ag-grid is proud to partner with webpack

Target

webpack can compile for multiple environments or targets. To understand what a target is in detail, read through the targets concept page.

target

string | function(compiler)

Instructs webpack to target a specific environment.

string

The following string values are supported via WebpackOptionsApply:

Option
Description
Option
async-node
Description
Compile for usage in a Node.js-like environment (uses fs and vm to load chunks asynchronously)
Option
atom
Description
Alias for electron-main
Option
electron
Description
Alias for electron-main
Option
electron-main
Description
Compile for Electron for main process.
Option
electron-renderer
Description
Compile for Electron for renderer process, providing a target using JsonpTemplatePlugin, FunctionModulePlugin for browser environments and NodeTargetPlugin and ExternalsPlugin for CommonJS and Electron built-in modules.
Option
node
Description
Compile for usage in a Node.js-like environment (uses Node.js require to load chunks)
Option
node-webkit
Description
Compile for usage in WebKit and uses JSONP for chunk loading. Allows importing of built-in Node.js modules and nw.gui (experimental)
Option
web
Description
Compile for usage in a browser-like environment (default)
Option
webworker
Description
Compile as WebWorker

For example, when the target is set to "electron", webpack includes multiple electron specific variables. For more information on which templates and externals are used, you can refer to webpack's source code.

function

If a function is passed, then it will be called with the compiler as a parameter. Set it to a function if none of the predefined targets from the list above meet your needs.

For example, if you don't want any of the plugins they applied:

const options = {
  target: () => undefined
};

Or you can apply specific plugins you want:

const webpack = require("webpack");

const options = {
  target: (compiler) => {
    compiler.apply(
      new webpack.JsonpTemplatePlugin(options.output),
      new webpack.LoaderTargetPlugin("web")
    );
  }
};

Contributors