From 45b7838710a60dba6740a95f6782429ad70d5010 Mon Sep 17 00:00:00 2001 From: Dmitriy <32272181+Kolobok12309@users.noreply.github.com> Date: Thu, 10 Sep 2020 22:16:00 +0300 Subject: [PATCH] fix(vue-app): empty `$fetch` function for SSR with static target (#8053) --- .../vue-app/template/mixins/fetch.server.js | 2 ++ test/e2e/fetch.browser.test.js | 6 ++++++ test/fixtures/fetch/layouts/default.vue | 5 +++++ test/fixtures/fetch/pages/fetch-root.vue | 21 +++++++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 test/fixtures/fetch/pages/fetch-root.vue diff --git a/packages/vue-app/template/mixins/fetch.server.js b/packages/vue-app/template/mixins/fetch.server.js index dc1ca12fff..01bfff80e3 100644 --- a/packages/vue-app/template/mixins/fetch.server.js +++ b/packages/vue-app/template/mixins/fetch.server.js @@ -41,6 +41,8 @@ export default { this._fetchOnServer = this.$options.fetchOnServer !== false } + // Added for remove vue undefined warning while ssr + this.$fetch = () => {} // issue #8043 Vue.util.defineReactive(this, '$fetchState', { pending: true, error: null, diff --git a/test/e2e/fetch.browser.test.js b/test/e2e/fetch.browser.test.js index 8c1baa0a4e..a3e10af286 100644 --- a/test/e2e/fetch.browser.test.js +++ b/test/e2e/fetch.browser.test.js @@ -76,6 +76,12 @@ describe('basic browser', () => { expect(await page.$text('pre')).toContain('kevinmarrec') }) + test('ssr: /fetch-root', async () => { + const page = await browser.page(url('/fetch-root')) + expect(await page.$text('button')).toContain('has fetch') + page.close() + }) + test('ssr: /fetch-client', async () => { const page = await browser.page(url('/fetch-client')) expect(await page.$text('p')).toContain('Fetching...') diff --git a/test/fixtures/fetch/layouts/default.vue b/test/fixtures/fetch/layouts/default.vue index 4a4ad8b5a0..7875882d1b 100644 --- a/test/fixtures/fetch/layouts/default.vue +++ b/test/fixtures/fetch/layouts/default.vue @@ -31,6 +31,11 @@ Fetch button +
  • + + Fetch in root click handler + +
  • Fetch in component diff --git a/test/fixtures/fetch/pages/fetch-root.vue b/test/fixtures/fetch/pages/fetch-root.vue new file mode 100644 index 0000000000..7297278cc7 --- /dev/null +++ b/test/fixtures/fetch/pages/fetch-root.vue @@ -0,0 +1,21 @@ + + +