diff --git a/packages/vue-server-renderer/build.dev.js b/packages/vue-server-renderer/build.dev.js index f10ebafc1d2..a569b0765af 100644 --- a/packages/vue-server-renderer/build.dev.js +++ b/packages/vue-server-renderer/build.dev.js @@ -5025,7 +5025,7 @@ function genInlineTemplate (el, state) { { start: el.start } ); } - if (ast.type === 1) { + if (ast && ast.type === 1) { var inlineRenderFns = generate(ast, state.options); return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}") } diff --git a/packages/vue-template-compiler/browser.js b/packages/vue-template-compiler/browser.js index 4b240cdd647..c25dd44766f 100644 --- a/packages/vue-template-compiler/browser.js +++ b/packages/vue-template-compiler/browser.js @@ -4344,7 +4344,7 @@ { start: el.start } ); } - if (ast.type === 1) { + if (ast && ast.type === 1) { var inlineRenderFns = generate(ast, state.options); return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}") } diff --git a/packages/weex-template-compiler/build.js b/packages/weex-template-compiler/build.js index d6951d52830..c1882aaac5c 100644 --- a/packages/weex-template-compiler/build.js +++ b/packages/weex-template-compiler/build.js @@ -3245,7 +3245,7 @@ function genInlineTemplate (el, state) { )) { state.warn('Inline-template components must have exactly one child element.'); } - if (ast.type === 1) { + if (ast && ast.type === 1) { var inlineRenderFns = generate(ast, state.options); return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}") } diff --git a/src/compiler/codegen/index.js b/src/compiler/codegen/index.js index bdd76be0033..0dc6d357fca 100644 --- a/src/compiler/codegen/index.js +++ b/src/compiler/codegen/index.js @@ -340,7 +340,7 @@ function genInlineTemplate (el: ASTElement, state: CodegenState): ?string { { start: el.start } ) } - if (ast.type === 1) { + if (ast && ast.type === 1) { const inlineRenderFns = generate(ast, state.options) return `inlineTemplate:{render:function(){${ inlineRenderFns.render diff --git a/test/unit/modules/compiler/codegen.spec.js b/test/unit/modules/compiler/codegen.spec.js index 7f5fbeae333..78c10687200 100644 --- a/test/unit/modules/compiler/codegen.spec.js +++ b/test/unit/modules/compiler/codegen.spec.js @@ -587,7 +587,7 @@ describe('codegen', () => { try { assertCodegen( '', - '' + `with(this){return _c('my-component',{})}` ) } catch (e) {} expect('Inline-template components must have exactly one child element.').toHaveBeenWarned()