Home

Issue: 2792

Errors become "render function or template not defined in component: anonymous" after refresh

[issue link]

I’m finding that whenever I get a build error when running the development server, I initially see the correct error when loading the page for the first time. However, when I refresh the error page, the error always becomes:

render function or template not defined in component: anonymous

thrown by normalizeRender.

Seems related to #2576, but I’m on the latest version of vue-cli…

Steps to reproduce

This happens on a fresh Nuxt app for me:

  1. vue init nuxt-community/starter-template test (default values for all)
  2. cd test/, npm install and npm run serve
  3. Introduce an error, e.g. in index.vue change
import AppLogo from '~/components/AppLogo.vue'

to:

import AppLogo from '~/components/ZppLogo.vue'
  1. Load index and see correct error
  2. Refresh and see render function or template not defined in component: anonymous.

Versions

  • Node 8.9.4
  • Vue 2.5.13
  • vue-cli 2.9.3
  • Nuxt 1.3.0

Stack trace

Correct error, 1st request:

This dependency was not found:

* ~/components/ZppLogo.vue in ./node_modules/babel-loader/lib?{"babelrc":false,"cacheDirectory":true,"presets":[["/Users/alex/Documents/test/node_modules/babel-preset-vue-app/dist/index.common.js",{"targets":{"ie":9,"uglify":true}}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./pages/index.vue

To install it, you can run: npm install --save ~/components/ZppLogo.vue
  nuxt:render Rendering url / +19s
{ Error: Cannot find module "~/components/ZppLogo.vue"
    at Object.50 (pages/index.vue?a4bb:1:0)
    at __webpack_require__ (webpack:/webpack/bootstrap 81e5a0b8b0df574f1d45:25:0)
    at Object.48 (pages/index.vue:1:0)
    at __webpack_require__ (webpack:/webpack/bootstrap 81e5a0b8b0df574f1d45:25:0)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7) statusCode: 500, name: 'NuxtServerError' }

After a refresh:


  nuxt:render Rendering url / +2s
  nuxt:render Data fetching /: 0ms +0ms
{ Error: render function or template not defined in component: anonymous
    at normalizeRender (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7231:13)
    at renderComponentInner (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7355:3)
    at renderComponent (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7326:5)
    at renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7242:5)
    at renderComponentInner (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7362:3)
    at renderComponent (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7326:5)
    at renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7242:5)
    at renderComponentInner (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7362:3)
    at renderComponent (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7326:5)
    at RenderContext.renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7242:5)
    at RenderContext.next (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:2382:14)
    at cachedWrite (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:2242:9)
    at renderElement (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7463:5)
    at renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7244:5)
    at renderComponentInner (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7362:3)
    at renderComponent (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7326:5)
    at RenderContext.renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7242:5)
    at RenderContext.next (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:2382:14)
    at cachedWrite (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:2242:9)
    at renderElement (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7463:5)
    at renderNode (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7244:5)
    at renderComponentInner (/Users/alex/Documents/test/node_modules/vue-server-renderer/build.js:7362:3) statusCode: 500, name: 'NuxtServerError' }

Thanks in advance for any help ☺️ !

This question is available on Nuxt.js community (#c2421)