@@ -290,12 +290,11 @@ function ZipPlugin(options) {
290290ZipPlugin . prototype . apply = function ( compiler ) {
291291 const options = this . options
292292
293- let subpackageOptions = [ ]
294- if ( ! options . disableSubpackages && options . subpackages && options . subpackages . length > 0 ) {
295- subpackageOptions = options . subpackages
296- }
297-
298293 compiler . hooks . done . tapAsync ( 'ZipPlugin' , async ( stats , callback ) => {
294+ let subpackageOptions = [ ]
295+ if ( ! options . disableSubpackages && options . subpackages && options . subpackages . length > 0 ) {
296+ subpackageOptions = [ ...options . subpackages ]
297+ }
299298 // 更新 options 里的值,防止改变 manifest 文件字段导致的问题
300299 let manifestPath
301300 if ( fs . pathExistsSync ( path . join ( options . pathSrc , 'manifest-phone.json' ) ) ) {
@@ -304,6 +303,8 @@ ZipPlugin.prototype.apply = function (compiler) {
304303 } else {
305304 manifestPath = path . join ( options . pathSrc , 'manifest.json' )
306305 }
306+
307+ let isPureWidgetProject = true
307308 if ( fs . pathExistsSync ( manifestPath ) ) {
308309 const manifestContent = fs . readFileSync ( manifestPath , 'utf8' )
309310 const manifest = JSON . parse ( manifestContent )
@@ -323,6 +324,9 @@ ZipPlugin.prototype.apply = function (compiler) {
323324 } )
324325 } )
325326 }
327+ if ( Object . keys ( manifest ?. router ?. pages || { } ) . length > 0 ) {
328+ isPureWidgetProject = false
329+ }
326330 }
327331
328332 try {
@@ -397,7 +401,7 @@ ZipPlugin.prototype.apply = function (compiler) {
397401 this . signConfig ,
398402 options . disableStreamPack ,
399403 compiler . watchMode ,
400- ! options . disableSubpackages && options . subpackages && options . subpackages . length > 0
404+ ! options . disableSubpackages && ! isPureWidgetProject
401405 )
402406
403407 fs . ensureDirSync ( options . output )
0 commit comments