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"