如何在HTML嵌入一个Vue.js窗口部件?

这是个演示如何将完整Vue.js(route,action和状态管理)作为窗口部件widget嵌入到HTML。HTML只绑定app.js和app.css,嵌入widget作为一个HTML组件,里面有完整的Vue.js功能,在这个:


<link href="http://vuidget-source.danajanoskova.sk/css/app.css" rel=stylesheet/>

<vue-widget title="Vuidget live example"></vue-widget>


这是使用vue-custom-element部件实现的:


npm install vue-custom-element --save

src/main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/index'
import vueCustomElement from 'vue-custom-element'
Vue.use(vueCustomElement)
App.store = store
App.router = router
Vue.customElement('vue-widget', App)

注意最后一句:Vue.customElement('vue-widget', App),vue-widget是HTML中标签<vue-widget></vue-widget>名称。
这里不用使用new Vue();而是调用Vue.customElement();

运行:
npm run build

在构建目录dist下我们只需要 app.js。

DJanoskova/Vuidget: A full-functioning Vue.js (rou