title: Create vue components with raw html
body: <p>I know how to create a vue component constructor with simple html:</p>
  
  <pre><code>var Foo = Vue.extend({
      template: '&lt;p&gt;This is foo!&lt;/p&gt;'
  })
  </code></pre>
  
  <p>But how to create it with a piece of DOM like this:</p>
  
  <pre><code>&lt;div id="phone-list"&gt;
      &lt;div class="container-fluid"&gt;
          &lt;div class="row"&gt;
              &lt;div class="col-md-2"&gt;
                  Search: &lt;input v-model="query"&gt;
                  Sort by:
                  &lt;select v-model="orderProp"&gt;
                      &lt;option value="name"&gt;Alphabetical&lt;/option&gt;
                      &lt;option value="age"&gt;Newest&lt;/option&gt;
                  &lt;/select&gt;
              &lt;/div&gt;
              &lt;div class="col-md-10"&gt;
                  &lt;p&gt;There is {{p.length}} phones total.&lt;/p&gt;
                  &lt;ul class="phones"&gt;
                      &lt;li v-for="phone in p.data | filterBy query | orderBy orderProp " class="thumbnail"&gt;
  
                          &lt;a :href="'#/phones/' + phone.id" class="thumb"&gt;&lt;img :src="phone.imageUrl"&gt;&lt;/a&gt;
                          &lt;a :href="'#/phones/' + phone.id"&gt;{{phone.name}}&lt;/a&gt;
                          &lt;p&gt;{{phone.snippet}}&lt;/p&gt;
                      &lt;/li&gt;
                  &lt;/ul&gt;
              &lt;/div&gt;
          &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Am I supposed to mix DOM strings with JS code in a JS file? I feel sick to do that.</p>
  
  <p>Also, I have done some search and one solution may look like this:</p>
  
  <pre><code>Vue.extend({
      template: require('./call.html'),
      props: {
          call: {
              type: Object,
              required: true
          }
      },
      //...
  </code></pre>
  
  <p>However, this solution requires me to stick with some bundle tools like <code>webpack</code> or <code>browserify</code>.</p>
  
  <p>Is there a way to create vue component <strong>clean(DOM saved in a sepearate file)</strong> and <strong>simple(not using bundle tools)</strong>?</p>