Skip to content

Commit 7c6b68c

Browse files
docs: improve (#226)
1 parent 1eb4039 commit 7c6b68c

File tree

1 file changed

+66
-6
lines changed

1 file changed

+66
-6
lines changed

README.md

Lines changed: 66 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ If `moduleLocalName` is not specified, it exposes the entire module to the globa
172172
**src/index.js**
173173

174174
```js
175+
import $ from "jquery";
175176
import _ from "underscore";
176177
```
177178

@@ -186,7 +187,19 @@ module.exports = {
186187
loader: "expose-loader",
187188
options: {
188189
// For `underscore` library, it can be `_.map map` or `_.map|map`
189-
exposes: "jquery",
190+
exposes: "$",
191+
// To access please use `window.$` or `globalThis.$`
192+
},
193+
},
194+
{
195+
// test: require.resolve("jquery"),
196+
test: /node_modules[/\\]underscore[/\\]modules[/\\]index-all\.js$/,
197+
loader: "expose-loader",
198+
type: "javascript/auto",
199+
options: {
200+
// For `underscore` library, it can be `_.map map` or `_.map|map`
201+
exposes: "_",
202+
// To access please use `window._` or `globalThis._`
190203
},
191204
},
192205
],
@@ -223,8 +236,9 @@ module.exports = {
223236
module: {
224237
rules: [
225238
{
226-
test: require.resolve("underscore"),
239+
test: /node_modules[/\\]underscore[/\\]modules[/\\]index-all\.js$/,
227240
loader: "expose-loader",
241+
type: "javascript/auto",
228242
options: {
229243
exposes: {
230244
// Can be `['_', 'filter']`
@@ -264,8 +278,9 @@ module.exports = {
264278
module: {
265279
rules: [
266280
{
267-
test: require.resolve("underscore"),
281+
test: /node_modules[/\\]underscore[/\\]modules[/\\]index-all\.js$/,
268282
loader: "expose-loader",
283+
type: "javascript/auto",
269284
options: {
270285
exposes: {
271286
globalName: "_.filter",
@@ -288,7 +303,7 @@ type override = boolean;
288303

289304
Default: `false`
290305

291-
By default loader does not override the existing value in the global object, because it is unsafe.
306+
By default, loader does not override the existing value in the global object, because it is unsafe.
292307
In `development` mode, we throw an error if the value already present in the global object.
293308
But you can configure loader to override the existing value in the global object using this option.
294309

@@ -336,8 +351,9 @@ module.exports = {
336351
module: {
337352
rules: [
338353
{
339-
test: require.resolve("underscore"),
354+
test: /node_modules[/\\]underscore[/\\]modules[/\\]index-all\.js$/,
340355
loader: "expose-loader",
356+
type: "javascript/auto",
341357
options: {
342358
exposes: [
343359
"_.map map",
@@ -382,8 +398,9 @@ module.exports = {
382398
module: {
383399
rules: [
384400
{
385-
test: require.resolve("underscore"),
401+
test: /node_modules[/\\]underscore[/\\]modules[/\\]index-all\.js$/,
386402
loader: "expose-loader",
403+
type: "javascript/auto",
387404
options: {
388405
exposes: [
389406
{
@@ -398,6 +415,49 @@ module.exports = {
398415
};
399416
```
400417

418+
## Examples
419+
420+
### Expose a local module
421+
422+
**index.js**
423+
424+
```js
425+
import { method1 } from "./my-module.js";
426+
```
427+
428+
**my-module.js**
429+
430+
```js
431+
function method1() {
432+
console.log("method1");
433+
}
434+
435+
function method2() {
436+
console.log("method1");
437+
}
438+
439+
export { method1, method2 };
440+
```
441+
442+
**webpack.config.js**
443+
444+
```js
445+
module.exports = {
446+
module: {
447+
rules: [
448+
{
449+
test: /my-module\.js$/,
450+
loader: "expose-loader",
451+
options: {
452+
exposes: "mod",
453+
// // To access please use `window.mod` or `globalThis.mod`
454+
},
455+
},
456+
],
457+
},
458+
};
459+
```
460+
401461
## Contributing
402462

403463
Please take a moment to read our contributing guidelines if you haven't yet done so.

0 commit comments

Comments
 (0)