@@ -366,10 +366,13 @@ export default class WXAppPlugin {
366366 const flatSubEntryResources = [ ] . concat ( ...subEntryResources . map ( v => v ) ) ;
367367 const scripts = entryResources . concat ( flatSubEntryResources ) . map ( ::this . getFullScriptPath ) ;
368368
369+ const isWin = scripts . findIndex ( v => v . indexOf ( '\\' ) >= 0 ) !== - 1 ;
369370 const lastSubDirs = new Set ( ) ;
370371 subEntryResources . forEach ( ( pages , index ) => {
371372 if ( pages . length ) {
372- const subDir = pages [ 0 ] . slice ( 0 , pages [ 0 ] . lastIndexOf ( '/' ) + 1 ) ;
373+ const subDir = isWin
374+ ? pages [ 0 ] . slice ( 0 , pages [ 0 ] . lastIndexOf ( '\\' ) + 1 )
375+ : pages [ 0 ] . slice ( 0 , pages [ 0 ] . lastIndexOf ( '/' ) + 1 ) ;
373376
374377 compiler . apply (
375378 new CommonsChunkPlugin ( {
@@ -431,7 +434,12 @@ export default class WXAppPlugin {
431434 const globalVar = target . name === 'Alipay' ? 'my' : 'wx' ;
432435 const subEntryResources = [ ] . concat ( ...this . subEntryResources . map ( v => v ) )
433436 const scripts = [ ] . concat ( this . entryResources ) . concat ( subEntryResources ) ;
434- const subDirs = this . subEntryResources . filter ( v => v . length ) . map ( v => v [ 0 ] . slice ( 0 , v [ 0 ] . lastIndexOf ( '/' ) + 1 ) ) ;
437+ const isWin = scripts . findIndex ( v => v . indexOf ( '\\' ) >= 0 ) !== - 1 ;
438+ const subDirs = this . subEntryResources
439+ . filter ( v => v . length )
440+ . map ( v => isWin
441+ ? v [ 0 ] . slice ( 0 , v [ 0 ] . lastIndexOf ( '\\' ) + 1 )
442+ : v [ 0 ] . slice ( 0 , v [ 0 ] . lastIndexOf ( '/' ) + 1 ) ) ;
435443
436444 // inject chunk entries
437445 compilation . chunkTemplate . plugin ( 'render' , ( core , { name } ) => {
0 commit comments