diff --git a/package.json b/package.json
index 84bca9f9f..2035b1de1 100644
--- a/package.json
+++ b/package.json
@@ -23,9 +23,9 @@
"firebase": "^3.7.2",
"lru-cache": "^4.0.2",
"serve-favicon": "^2.4.1",
- "vue": "^2.3.2",
+ "vue": "^2.3.4",
"vue-router": "^2.5.0",
- "vue-server-renderer": "^2.3.2",
+ "vue-server-renderer": "^2.3.4",
"vuex": "^2.3.1",
"vuex-router-sync": "^4.1.2"
},
@@ -44,13 +44,13 @@
"stylus-loader": "^3.0.1",
"sw-precache-webpack-plugin": "^0.10.1",
"url-loader": "^0.5.8",
- "vue-loader": "^12.0.2",
+ "vue-loader": "^12.2.1",
"vue-style-loader": "^3.0.0",
- "vue-template-compiler": "^2.3.2",
+ "vue-template-compiler": "^2.3.4",
"webpack": "^2.4.1",
"webpack-dev-middleware": "^1.10.1",
"webpack-hot-middleware": "^2.17.1",
"webpack-merge": "^4.0.0",
"webpack-node-externals": "^1.5.4"
}
-}
\ No newline at end of file
+}
diff --git a/server.js b/server.js
index 1b985b5ef..78a7c334a 100644
--- a/server.js
+++ b/server.js
@@ -29,7 +29,7 @@ function createRenderer (bundle, options) {
// this is only needed when vue-server-renderer is npm-linked
basedir: resolve('./dist'),
// recommended for performance
- runInNewContext: false
+ runInNewContext: true
}))
}
diff --git a/src/app.js b/src/app.js
index 2bd217b32..51cb9b9a9 100644
--- a/src/app.js
+++ b/src/app.js
@@ -5,9 +5,13 @@ import { createRouter } from './router'
import { sync } from 'vuex-router-sync'
import titleMixin from './util/title'
import * as filters from './util/filters'
+import Mixin from './util/mixin'
+import Widget from './widget'
// mixin for handling title
Vue.mixin(titleMixin)
+Vue.use(Mixin)
+Vue.use(Widget)
// register global utility filters.
Object.keys(filters).forEach(key => {
diff --git a/src/util/mixin.js b/src/util/mixin.js
new file mode 100644
index 000000000..7869d4b45
--- /dev/null
+++ b/src/util/mixin.js
@@ -0,0 +1,9 @@
+export default {
+ install(Vue) {
+ Vue.mixin({
+ props: {
+ foo: String,
+ },
+ });
+ },
+};
diff --git a/src/widget/Empty/index.vue b/src/widget/Empty/index.vue
new file mode 100644
index 000000000..095daef2d
--- /dev/null
+++ b/src/widget/Empty/index.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/src/widget/index.js b/src/widget/index.js
new file mode 100644
index 000000000..9a0bc5497
--- /dev/null
+++ b/src/widget/index.js
@@ -0,0 +1,13 @@
+import Empty from './Empty/index.vue';
+
+const componentList = [
+ Empty,
+];
+
+export default {
+ install(Vue) {
+ componentList.forEach(widget => {
+ Vue.component(widget.name, widget);
+ });
+ }
+};
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 08900b88e..89d2bfdd6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3941,9 +3941,9 @@ vue-hot-reload-api@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.1.0.tgz#9ca58a6e0df9078554ce1708688b6578754d86de"
-vue-loader@^12.0.2:
- version "12.0.2"
- resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-12.0.2.tgz#f539036b1e0e9516b474a8fd1b5f533145248406"
+vue-loader@^12.2.1:
+ version "12.2.1"
+ resolved "http://registry.npm.taobao.org/vue-loader/download/vue-loader-12.2.1.tgz#53f27c0973d386768f5a75156f4129b5efc6ba55"
dependencies:
consolidate "^0.14.0"
hash-sum "^1.0.2"
@@ -3963,9 +3963,9 @@ vue-router@^2.5.0:
version "2.5.2"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-2.5.2.tgz#870db3b63ead0aab4cd0bac63a7b81341c593f56"
-vue-server-renderer@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.3.2.tgz#01bfde9c524ef041873f1e2d18f9356c620b4f8c"
+vue-server-renderer@^2.3.4:
+ version "2.3.4"
+ resolved "http://registry.npm.taobao.org/vue-server-renderer/download/vue-server-renderer-2.3.4.tgz#ce1361eb32bfb84573b9c9b83f2810de8fa606c7"
dependencies:
chalk "^1.1.3"
hash-sum "^1.0.2"
@@ -3983,9 +3983,9 @@ vue-style-loader@^3.0.0:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
-vue-template-compiler@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.3.2.tgz#d48a7f53df5f497033827182ceb4f0d340803017"
+vue-template-compiler@^2.3.4:
+ version "2.3.4"
+ resolved "http://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.3.4.tgz#5a88ac2c5e4d5d6218e6aa80e7e221fb7e67894c"
dependencies:
de-indent "^1.0.2"
he "^1.1.0"
@@ -3994,9 +3994,9 @@ vue-template-es2015-compiler@^1.2.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.5.2.tgz#a0a6c50c941d2a4abda963f2f42c337ac450ee95"
-vue@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/vue/-/vue-2.3.2.tgz#9e52aae3593480be235ff227557837e69f98203a"
+vue@^2.3.4:
+ version "2.3.4"
+ resolved "http://registry.npm.taobao.org/vue/download/vue-2.3.4.tgz#5ec3b87a191da8090bbef56b7cfabd4158038171"
vuex-router-sync@^4.1.2:
version "4.1.2"
@@ -4202,4 +4202,4 @@ yargs@~3.10.0:
camelcase "^1.0.2"
cliui "^2.1.0"
decamelize "^1.0.0"
- window-size "0.1.0"
\ No newline at end of file
+ window-size "0.1.0"