File tree 3 files changed +22
-14
lines changed
3 files changed +22
-14
lines changed Original file line number Diff line number Diff line change @@ -208,12 +208,16 @@ module.exports = function (content) {
208
208
output += '/* template */\n'
209
209
const template = parts . template
210
210
if ( template ) {
211
- output +=
212
- ( template . src
213
- ? getImportForSrc ( 'template' , template )
214
- : getImport ( 'template' , template ) ) + '\n'
211
+ output += `import {` +
212
+ `render as __vue_render__, ` +
213
+ `staticRenderFns as __vue_static_render_fns__` +
214
+ `} from ${
215
+ template . src
216
+ ? getSrcRequestString ( 'template' , template )
217
+ : getRequestString ( 'template' , template )
218
+ } \n`
215
219
} else {
216
- output += 'var __vue_template__ = null \n'
220
+ output += 'var __vue_render__, __vue_static_render_fns__ \n'
217
221
}
218
222
219
223
// <template functional>
@@ -264,7 +268,8 @@ module.exports = function (content) {
264
268
`import normalizeComponent from ${ componentNormalizerRequest } \n` +
265
269
'var Component = normalizeComponent(\n' +
266
270
` __vue_script__,\n` +
267
- ' __vue_template__,\n' +
271
+ ` __vue_render__,\n` +
272
+ ` __vue_static_render_fns__,\n` +
268
273
' __vue_template_functional__,\n' +
269
274
' __vue_styles__,\n' +
270
275
' __vue_scopeId__,\n' +
Original file line number Diff line number Diff line change 6
6
7
7
export default function normalizeComponent (
8
8
scriptExports ,
9
- compiledTemplate ,
9
+ render ,
10
+ staticRenderFns ,
10
11
functionalTemplate ,
11
12
injectStyles ,
12
13
scopeId ,
@@ -27,9 +28,9 @@ export default function normalizeComponent (
27
28
: scriptExports
28
29
29
30
// render functions
30
- if ( compiledTemplate ) {
31
- options . render = compiledTemplate . render
32
- options . staticRenderFns = compiledTemplate . staticRenderFns
31
+ if ( render ) {
32
+ options . render = render
33
+ options . staticRenderFns = staticRenderFns
33
34
options . _compiled = true
34
35
}
35
36
@@ -79,10 +80,10 @@ export default function normalizeComponent (
79
80
// go through the normalizer
80
81
options . _injectStyles = hook
81
82
// register for functioal component in vue file
82
- var render = options . render
83
+ var originalRender = options . render
83
84
options . render = function renderWithStyleInjection ( h , context ) {
84
85
hook . call ( context )
85
- return render ( h , context )
86
+ return originalRender ( h , context )
86
87
}
87
88
} else {
88
89
// inject component registration as beforeCreate hook
Original file line number Diff line number Diff line change @@ -45,7 +45,9 @@ module.exports = function (html) {
45
45
compiled . errors . map ( e => ` - ${ e } ` ) . join ( '\n' ) +
46
46
'\n'
47
47
)
48
- code = `export default { render:function () {}, staticRenderFns: [] }`
48
+ code =
49
+ `export var render = function () {}\n` +
50
+ `export var staticRenderFns = []`
49
51
} else {
50
52
const bubleOptions = options . buble
51
53
const stripWith = bubleOptions . transforms . stripWith !== false
@@ -75,7 +77,7 @@ module.exports = function (html) {
75
77
if ( ! isProduction && stripWith ) {
76
78
code += `render._withStripped = true\n`
77
79
}
78
- code += `export default { render: render, staticRenderFns: staticRenderFns }`
80
+ code += `export { render, staticRenderFns }`
79
81
}
80
82
// hot-reload
81
83
if ( needsHotReload ) {
You can’t perform that action at this time.
0 commit comments