[![npm][npm]][npm-url] [![deps][deps]][deps-url] [![chat][chat]][chat-url]

Expose Loader

The expose loader adds modules to the global object. This is useful for debugging, or supporting libraries that depend on libraries in globals.

Install

```bash npm i expose-loader --save ```

Usage

**Note**: Modules must be `require()`'d within in your bundle, or they will not be exposed. ``` javascript require("expose-loader?libraryName!./file.js"); // Exposes the exports for file.js to the global context on property "libraryName". // In web browsers, window.libraryName is then available. ``` For example, let's say you want to expose jQuery as a global called `$`: ```js require("expose-loader?$!jquery"); ``` Thus, `window.$` is then available in the browser console. Alternately, you can set this in your config file: webpack v1 usage ```js module: { loaders: [ { test: require.resolve("jquery"), loader: "expose-loader?$" } ] } ``` webpack v2 usage ```js module: { rules: [{ test: require.resolve('jquery'), use: [{ loader: 'expose-loader', options: '$' }] }] } ``` Let's say you also want to expose it as `window.jQuery` in addition to `window.$`. For multiple expose you can use `!` in loader string: webpack v1 usage ```js module: { loaders: [ { test: require.resolve("jquery"), loader: "expose-loader?$!expose-loader?jQuery" }, ] } ``` webpack v2 usage ```js module: { rules: [{ test: require.resolve('jquery'), use: [{ loader: 'expose-loader', options: 'jQuery' },{ loader: 'expose-loader', options: '$' }] }] } ``` The [`require.resolve`](https://nodejs.org/api/all.html#modules_require_resolve) is a Node.js call (unrelated to `require.resolve` in webpack processing). `require.resolve` gives you the absolute path to the module (`"/.../app/node_modules/react/react.js"`). So the expose only applies to the react module. And it's only exposed when used in the bundle.

Maintainers


Juho Vepsäläinen

Joshua Wiens

Kees Kluskens

Sean Larkin
[npm]: https://img.shields.io/npm/v/expose-loader.svg [npm-url]: https://npmjs.com/package/expose-loader [deps]: https://david-dm.org/webpack-contrib/expose-loader.svg [deps-url]: https://david-dm.org/webpack-contrib/expose-loader [chat]: https://img.shields.io/badge/gitter-webpack%2Fwebpack-brightgreen.svg [chat-url]: https://gitter.im/webpack/webpack