diff options
Diffstat (limited to 'node_modules/vue-loader/lib/codegen/hotReload.js')
| -rw-r--r-- | node_modules/vue-loader/lib/codegen/hotReload.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/vue-loader/lib/codegen/hotReload.js b/node_modules/vue-loader/lib/codegen/hotReload.js new file mode 100644 index 00000000..4f426b4d --- /dev/null +++ b/node_modules/vue-loader/lib/codegen/hotReload.js @@ -0,0 +1,31 @@ +const hotReloadAPIPath = JSON.stringify(require.resolve('vue-hot-reload-api')) + +const genTemplateHotReloadCode = (id, request) => { + return ` + module.hot.accept(${request}, function () { + api.rerender('${id}', { + render: render, + staticRenderFns: staticRenderFns + }) + }) + `.trim() +} + +exports.genHotReloadCode = (id, functional, templateRequest) => { + return ` +/* hot reload */ +if (module.hot) { + var api = require(${hotReloadAPIPath}) + api.install(require('vue')) + if (api.compatible) { + module.hot.accept() + if (!module.hot.data) { + api.createRecord('${id}', component.options) + } else { + api.${functional ? 'rerender' : 'reload'}('${id}', component.options) + } + ${templateRequest ? genTemplateHotReloadCode(id, templateRequest) : ''} + } +} + `.trim() +} |
