Vue は外部コンポーネントをロードします

Vue は外部コンポーネントをロードします

export default async function externalComponent(url) {
  const name = url.match(/(\w+).js$/)[1]
  if (window[name]) return window[name];

  window[name] = new Promise((resolve, reject) => {
    const script = document.createElement('script');
    script.async = true;
    script.addEventListener('load', () => {
      resolve(window[name]);
    });
    script.addEventListener('error', () => {
      reject(new Error(`Error loading ${url}`));
    });
    script.src = url;
    document.head.appendChild(script);
  });

  return window[name];
}

おすすめ

転載: blog.csdn.net/ithunzi/article/details/130412860