diff --git a/build/webpack.client.config.js b/build/webpack.client.config.js index d892e17b4..9a7547571 100644 --- a/build/webpack.client.config.js +++ b/build/webpack.client.config.js @@ -1,4 +1,3 @@ -const glob = require('glob') const webpack = require('webpack') const merge = require('webpack-merge') const base = require('./webpack.base.config') diff --git a/package.json b/package.json index ddd6c76a1..b70a6ba4b 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "es6-promise": "^4.1.1", "express": "^4.15.4", "extract-text-webpack-plugin": "^3.0.0", - "firebase": "^4.3.1", + "firebase": "4.1.3", "lru-cache": "^4.1.1", "route-cache": "0.4.3", "serve-favicon": "^2.4.4", @@ -28,7 +28,7 @@ "vue-router": "^2.7.0", "vue-server-renderer": "^2.4.4", "vuex": "^2.4.0", - "vuex-router-sync": "^4.3.1" + "vuex-router-sync": "^4.3.2" }, "devDependencies": { "autoprefixer": "^7.1.4", @@ -39,13 +39,12 @@ "css-loader": "^0.28.7", "file-loader": "^0.11.2", "friendly-errors-webpack-plugin": "^1.6.1", - "glob": "^7.1.2", "rimraf": "^2.6.2", "stylus": "^0.54.5", "stylus-loader": "^3.0.1", "sw-precache-webpack-plugin": "^0.11.4", "url-loader": "^0.5.9", - "vue-loader": "^13.0.4", + "vue-loader": "^13.0.5", "vue-style-loader": "^3.0.3", "vue-template-compiler": "^2.4.4", "webpack": "^3.6.0", diff --git a/src/entry-server.js b/src/entry-server.js index ab1944398..c72a90594 100644 --- a/src/entry-server.js +++ b/src/entry-server.js @@ -16,7 +16,7 @@ export default context => { const { fullPath } = router.resolve(url).route if (fullPath !== url) { - reject({ url: fullPath }) + return reject({ url: fullPath }) } // set router's location @@ -27,7 +27,7 @@ export default context => { const matchedComponents = router.getMatchedComponents() // no matched routes if (!matchedComponents.length) { - reject({ code: 404 }) + return reject({ code: 404 }) } // Call fetchData hooks on components matched by the route. // A preFetch hook dispatches a store action and returns a Promise, diff --git a/src/router/index.js b/src/router/index.js index 23eeddf88..d6546c520 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,6 +11,7 @@ const UserView = () => import('../views/UserView.vue') export function createRouter () { return new Router({ mode: 'history', + fallback: false, scrollBehavior: () => ({ y: 0 }), routes: [ { path: '/top/:page(\\d+)?', component: createListView('top') }, diff --git a/src/views/ItemView.vue b/src/views/ItemView.vue index 68afec247..bc6a09794 100644 --- a/src/views/ItemView.vue +++ b/src/views/ItemView.vue @@ -68,6 +68,10 @@ export default { methods: { fetchComments () { + if (!this.item || !this.item.kids) { + return + } + this.loading = true fetchComments(this.$store, this.item).then(() => { this.loading = false diff --git a/yarn.lock b/yarn.lock index 11a312311..17a3f96cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -785,7 +785,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.0.5, bluebird@^3.1.1: +bluebird@^3.1.1: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" @@ -1120,12 +1120,6 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - commander@~2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" @@ -1156,13 +1150,6 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -config-chain@~1.1.5: - version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - configstore@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" @@ -1547,15 +1534,6 @@ ecdsa-sig-formatter@1.0.9: base64url "^2.0.0" safe-buffer "^5.0.1" -editorconfig@^0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.2.tgz#8e57926d9ee69ab6cb999f027c2171467acceb35" - dependencies: - bluebird "^3.0.5" - commander "^2.9.0" - lru-cache "^3.2.0" - sigmund "^1.0.1" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1883,9 +1861,9 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -firebase@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.3.1.tgz#0e6132ee22af323b350d03b6eb1680bb1a6f9ee6" +firebase@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.1.3.tgz#e5d7327366c854dc12461633ba8bfeea2f5c7358" dependencies: dom-storage "^2.0.2" faye-websocket "0.9.3" @@ -2037,17 +2015,6 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - globals@^9.0.0: version "9.17.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" @@ -2091,10 +2058,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" @@ -2252,7 +2215,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" @@ -2463,15 +2426,6 @@ js-base64@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" -js-beautify@^1.6.14: - version "1.6.14" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.6.14.tgz#d3b8f7322d02b9277d58bd238264c327e58044cd" - dependencies: - config-chain "~1.1.5" - editorconfig "^0.13.2" - mkdirp "~0.5.0" - nopt "~3.0.1" - js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" @@ -2708,12 +2662,6 @@ lru-cache@4.0.1: pseudomap "^1.0.1" yallist "^2.0.0" -lru-cache@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" - dependencies: - pseudomap "^1.0.1" - lru-cache@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" @@ -2944,12 +2892,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@~3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" @@ -3488,6 +3430,10 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" +prettier@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.0.tgz#47481588f41f7c90f63938feb202ac82554e7150" + pretty-bytes@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" @@ -3508,10 +3454,6 @@ promise-polyfill@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.0.2.tgz#d9c86d3dc4dc2df9016e88946defd69b49b41162" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - proxy-addr@~1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918" @@ -3942,10 +3884,6 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -sigmund@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -4446,18 +4384,18 @@ 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@^13.0.4: - version "13.0.4" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.4.tgz#0a6d893698735fcf7037b20a23d724cb39eee7d4" +vue-loader@^13.0.5: + version "13.0.5" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.0.5.tgz#3639e9fb3940cded7f0fc34429277fb6de70a57c" dependencies: consolidate "^0.14.0" hash-sum "^1.0.2" - js-beautify "^1.6.14" loader-utils "^1.1.0" lru-cache "^4.1.1" postcss "^6.0.6" postcss-load-config "^1.1.0" postcss-selector-parser "^2.0.0" + prettier "^1.7.0" resolve "^1.3.3" source-map "^0.5.6" vue-hot-reload-api "^2.1.0" @@ -4510,9 +4448,9 @@ vue@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/vue/-/vue-2.4.4.tgz#ea9550b96a71465fd2b8b17b61673b3561861789" -vuex-router-sync@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/vuex-router-sync/-/vuex-router-sync-4.3.1.tgz#962b342e54226ed887c5aa5b2dbced67c5621922" +vuex-router-sync@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/vuex-router-sync/-/vuex-router-sync-4.3.2.tgz#604b61a377daaa68b2ef6e8e0326b2cad26f359e" vuex@^2.4.0: version "2.4.0"