super-app-example icon indicating copy to clipboard operation
super-app-example copied to clipboard

How to loading bundles from cdn?

Open tungnt93 opened this issue 1 year ago • 0 comments

Ask your Question

I followed your example, everything runs fine on localhost, but when I want to load bundle from cdn, it doesn't seem to work.

  • I generated bundle by running command: react-native webpack-bundle --entry-file=index.js --dev=false --platform='ios' --bundle-output ios/MiniApp.container.bundle
  • Bundle cdn: https://cdn.jsdelivr.net/gh/tungnt93/test_bundle/MiniApp.container.bundle
  • host-app/index.js:
ScriptManager.shared.addResolver(async (scriptId, caller) => {
    const resolveURL = Federated.createURLResolver({
        containers: {
            MiniApp: "https://cdn.jsdelivr.net/gh/tungnt93/test_bundle/[name][ext]"
        },
    });

    const url = resolveURL(scriptId, caller);
    if (url) {
        return {
            url,
            query: {
                platform: Platform.OS,
            },
        };
    }
});

If i change containers to localhost, everything runs fine

const resolveURL = Federated.createURLResolver({
    containers: {
        MiniApp: "http://localhost:9000/[name][ext]"
    },
});

This is the image of host-app/src/screens/MiniAppScreen.js when i load from cdn: https://i.imgur.com/cX3B1Ut.png So I want to ask, is my bundle generating command correct? If so, does uploading it to jsdelivr work, or do i have to upload it to another cdn? Thank you!

tungnt93 avatar Sep 28 '24 10:09 tungnt93