diff --git a/lib/template-compiler/index.js b/lib/template-compiler/index.js index 6cfe80d17..01ea244b7 100644 --- a/lib/template-compiler/index.js +++ b/lib/template-compiler/index.js @@ -46,7 +46,7 @@ module.exports = function (html) { compiled.errors.map(e => ` - ${e}`).join('\n') + '\n' ) code = vueOptions.esModule - ? `export function render () {}\nexport var staticRenderFns = []` + ? `var esExports = {render:function(){},staticRenderFns: []}\nexport default esExports` : 'module.exports={render:function(){},staticRenderFns:[]}' } else { var bubleOptions = options.buble @@ -65,16 +65,17 @@ module.exports = function (html) { } var exports = `{ render: render, staticRenderFns: staticRenderFns }` code += vueOptions.esModule - ? `export default ${exports}` + ? `var esExports = ${exports}\nexport default esExports` : `module.exports = ${exports}` } // hot-reload if (!isServer && !isProduction) { + var exportsName = vueOptions.esModule ? 'esExports' : 'module.exports' code += '\nif (module.hot) {\n' + ' module.hot.accept()\n' + ' if (module.hot.data) {\n' + - ' require("' + hotReloadAPIPath + '").rerender("' + options.id + '", module.exports)\n' + + ' require("' + hotReloadAPIPath + '").rerender("' + options.id + '", ' + exportsName + ')\n' + ' }\n' + '}' }