aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vue-loader/lib/codegen/hotReload.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/vue-loader/lib/codegen/hotReload.js')
-rw-r--r--node_modules/vue-loader/lib/codegen/hotReload.js31
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()
+}