const componentName = embedScript.dataset.component; const areaKey = embedScript.dataset.areaKey; Promise.all([ import( /* webpackChunkName: "widgets-package" * / 'vue'), import( /* webpackChunkName: "widgets-package" * / './store'), import( /* webpackChunkName: "widgets-package" * / './WidgetApp'), ]).then(([{default: Vue}, {default: store}, {default: WidgetApp}]) => { store.dispatch('LOAD_TEXT_BLURBS'); const $app = document.createElement('div'); embedScript.parentNode.insertBefore($app, embedScript); new Vue({ store, render: h => h(WidgetApp, { props: { componentName, areaKey } }) }).$mount($app); });