wuba/metro-code-split

Ability to name chunks

hamdiwanis opened this issue · 2 comments

First of all thanks for the great lib.

I was wondering if there is a way to name chunks the same way webpack do?

First of all, thank you for asking

At present, there is no configuration or support for this function, and it will not be supported in the short term (sorry to be a little busy), but the implementation is not very complicated, welcome PR.

Some feasible technical implementation schemes:

  1. Obtain the name of the annotation or directly use the name of the loading chunk
    1.1 get the comment name: metor customSerializer graph reference:graph.dependencies.get('xxx').getSource()
    1.2 or directly use the name of the chunk to load: Reference val.modules

    const { code } = mcs.bundleToString({ pre: '', post: '', modules: val.modules })

  2. Export chunk: reference

    const dir = path.resolve(mcs.outputChunkDir, `${hash}${output.fileSuffix}`)

  3. Make sure chunk loads as scheduled:
    3.1 the reference

    chunkModuleIdToHashMap[chunkId]['hash'] + '<%= options.fileSuffix %>'

    3.2 or use asyncRequireTpl for customization
    asyncRequireTpl: require.resolve('./tpl/wrapAsyncRequire.ejs'),

krmao commented

hi , thanks for the greate lib,
please how to rename/special output dll/buz bundle name?, such as common.android.bundle, business-a.android.bundle @zq0904