File tree Expand file tree Collapse file tree 2 files changed +15
-3
lines changed Expand file tree Collapse file tree 2 files changed +15
-3
lines changed Original file line number Diff line number Diff line change 5
5
var path = require ( "path" ) ;
6
6
var loaderUtils = require ( "loader-utils" ) ;
7
7
var camelCase = require ( "lodash.camelcase" ) ;
8
+ var escapeRegexp = require ( "escape-regexp" ) ;
8
9
var processCss = require ( "./processCss" ) ;
9
10
var getImportPrefix = require ( "./getImportPrefix" ) ;
10
11
12
+ const pathtoSprites = path . resolve ( 'client/images/sprites' ) ;
13
+ const nestedImport = escapeRegexp ( '../../../styles' ) ;
11
14
12
15
module . exports = function ( content , map ) {
13
16
// ワークアラウンド
14
17
// postcss-spritesに各コンポーネント用のsprite.pngを渡す方法がわからない
15
- if ( content . match ( / u r l \( c l i e n t \/ i m a g e s \/ s p r i t e s / ) ) {
16
- content = content . replace ( / u r l \( c l i e n t \/ i m a g e s \/ s p r i t e s \/ / g, 'url(../../images/sprites/' ) ;
18
+ const parsedMap = JSON . parse ( map ) ;
19
+ const hasSprite = content . match ( / u r l \( c l i e n t \/ i m a g e s \/ s p r i t e s / ) ? true : false ;
20
+ const isNested = parsedMap . sources . filter ( ( source ) => source . match ( nestedImport ) ) . length > 0 ;
21
+
22
+ if ( hasSprite ) {
23
+ if ( isNested ) {
24
+ content = content . replace ( / u r l \( c l i e n t \/ i m a g e s \/ s p r i t e s \/ / g, 'url(../../../images/sprites/' ) ;
25
+ } else {
26
+ content = content . replace ( / u r l \( c l i e n t \/ i m a g e s \/ s p r i t e s \/ / g, 'url(../../images/sprites/' ) ;
27
+ }
17
28
}
18
29
19
30
if ( this . cacheable ) this . cacheable ( ) ;
Original file line number Diff line number Diff line change 6
6
"dependencies" : {
7
7
"css-selector-tokenizer" : " ^0.5.1" ,
8
8
"cssnano" : " >=2.6.1 <4" ,
9
+ "escape-regexp" : " 0.0.1" ,
9
10
"loader-utils" : " ~0.2.2" ,
10
- "object-assign" : " ^4.0.1" ,
11
11
"lodash.camelcase" : " ^3.0.1" ,
12
+ "object-assign" : " ^4.0.1" ,
12
13
"postcss" : " ^5.0.6" ,
13
14
"postcss-modules-extract-imports" : " 1.0.0-beta2" ,
14
15
"postcss-modules-local-by-default" : " ^1.0.0" ,
You can’t perform that action at this time.
0 commit comments