code: function createVueModuleInstance (instanceId, moduleGetter) {
    const exports = {}
    VueFactory(exports, renderer)
    const Vue = exports.Vue
  
    const instance = instances[instanceId]
  
    // patch reserved tag detection to account for dynamically registered
    // components
    const isReservedTag = Vue.config.isReservedTag || (() => false)
    Vue.config.isReservedTag = name => {
      return components[name] || isReservedTag(name)
    }
  
    // expose weex-specific info
    Vue.prototype.$instanceId = instanceId
    Vue.prototype.$document = instance.document
  
    // expose weex native module getter on subVue prototype so that
    // vdom runtime modules can access native modules via vnode.context
    Vue.prototype.$requireWeexModule = moduleGetter
  
    // Hack `Vue` behavior to handle instance information and data
    // before root component created.
    Vue.mixin({
      beforeCreate () {
        const options = this.$options
        // root component (vm)
        if (options.el) {
          // set external data of instance
          const dataOption = options.data
          const internalData = (typeof dataOption === 'function' ? dataOption() : dataOption) || {}
          options.data = Object.assign(internalData, instance.data)
          // record instance by id
          instance.app = this
        }
      }
    })
  
    /**
     * @deprecated Just instance variable `weex.config`
     * Get instance config.
     * @return {object}
     */
    Vue.prototype.$getConfig = function () {
      if (instance.app instanceof Vue) {
        return instance.config
      }
    }
  
    return Vue
  }
docs: Create a fresh instance of Vue for each Weex instance.