12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- var VueModule = require('vue')
- // get the real Vue https://github.com/vueuse/vue-demi/issues/192
- var Vue = VueModule.default || VueModule
- exports.Vue = Vue
- exports.Vue2 = Vue
- exports.isVue2 = true
- exports.isVue3 = false
- exports.install = function () {}
- exports.warn = Vue.util.warn
- // createApp polyfill
- exports.createApp = function (rootComponent, rootProps) {
- var vm
- var provide = {}
- var app = {
- config: Vue.config,
- use: Vue.use.bind(Vue),
- mixin: Vue.mixin.bind(Vue),
- component: Vue.component.bind(Vue),
- provide: function (key, value) {
- provide[key] = value
- return this
- },
- directive: function (name, dir) {
- if (dir) {
- Vue.directive(name, dir)
- return app
- } else {
- return Vue.directive(name)
- }
- },
- mount: function (el, hydrating) {
- if (!vm) {
- vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))
- vm.$mount(el, hydrating)
- return vm
- } else {
- return vm
- }
- },
- unmount: function () {
- if (vm) {
- vm.$destroy()
- vm = undefined
- }
- },
- }
- return app
- }
- Object.keys(VueModule).forEach(function (key) {
- exports[key] = VueModule[key]
- })
|