File tree Expand file tree Collapse file tree 2 files changed +44
-9
lines changed Expand file tree Collapse file tree 2 files changed +44
-9
lines changed Original file line number Diff line number Diff line change @@ -49,9 +49,32 @@ module.exports = {
49
49
test: / fileInWhichJQueryIsUndefined\. js$ / ,
50
50
loader: ' string-replace' ,
51
51
query: {
52
- search: ' jquery' ,
53
- replace: ' window.$' ,
54
- flags: ' i'
52
+ search: / jquery/ i ,
53
+ replace: ' window.$'
54
+ }
55
+ }
56
+ ]
57
+ }
58
+ }
59
+ ```
60
+
61
+ ### Array replacement:
62
+
63
+ In your ` webpack.config.js ` :
64
+
65
+ ``` javascript
66
+ module .exports = {
67
+ // ...
68
+ module: {
69
+ loaders: [
70
+ {
71
+ test: / \. js$ / ,
72
+ loader: ' string-replace' ,
73
+ query: {
74
+ multiple: [
75
+ {search: ' framework' , replace: ' flamewar' },
76
+ {search: ' ants' , replace: ' super ants' },
77
+ ]
55
78
}
56
79
}
57
80
]
Original file line number Diff line number Diff line change 1
1
var utils = require ( 'loader-utils' ) ;
2
2
3
- module . exports = function ( source ) {
3
+ function processQuery ( source , option ) {
4
+ if ( typeof option . search !== 'undefined' && typeof option . replace !== 'undefined' ) {
5
+ return source . split ( option . search ) . join ( option . replace ) ;
6
+ }
7
+
8
+ return source ;
9
+ }
10
+
11
+ module . exports = function ( source ) {
4
12
this . cacheable ( ) ;
13
+
5
14
var query = utils . parseQuery ( this . query ) ;
6
15
7
- if ( typeof query . search !== 'undefined' && typeof query . replace !== 'undefined' ) {
8
- if ( typeof query . flags !== 'undefined' ) {
9
- query . search = new RegExp ( query . search , query . flags ) ;
16
+ if ( Array . isArray ( query . multiple ) ) {
17
+ var length = query . multiple . length ;
18
+
19
+ for ( var i = 0 ; i < length ; i ++ ) {
20
+ var option = query . multiple [ i ] ;
21
+ source = processQuery ( source , option ) ;
10
22
}
11
23
12
- source = source . replace ( query . search , query . replace ) ;
24
+ return source ;
13
25
}
14
26
15
- return source ;
27
+ return processQuery ( source , query ) ;
16
28
} ;
You can’t perform that action at this time.
0 commit comments