title: How to run VueJS code only after Vue is fully loaded and initialized?
body: <p>I am working on a Vue component that will be placed on multiple websites via a CMS system. The issue I encounter is that even if my js scripts loading order is correct, sometime I get this error: </p>
  
  <pre><code>Uncaught ReferenceError: Vue is not defined
      at HTMLDocument.&lt;anonymous&gt;
  </code></pre>
  
  <p>Vue is loaded via cdn and it's above the component's code.</p>
  
  <p>All the Vue code is run like this:</p>
  
  <pre><code>document.addEventListener("DOMContentLoaded", () =&gt; {
    // here is the Vue code
  });
  </code></pre>
  
  <p>I even added a setTimeout() inside the DOMContentLoaded event and still did not do the trick.
  <code>window.onload = function()</code> did not work either in all cases. I still got that error from time to time. 
  The scripts are loaded in the body.</p>
  
  <p>Do you have any idea what it can be another approach? I want to be sure that in the moment the Vue code is fired, Vue is loaded and ready to be initialized on the page.
  Thank you!</p>