6
6
7
7
var compiler = require ( 'weex-template-compiler' )
8
8
var transpile = require ( 'vue-template-es2015-compiler' )
9
- // var loaderUtils = require('loader-utils')
9
+ var loaderUtils = require ( 'loader-utils' )
10
10
var beautify = require ( 'js-beautify' ) . js_beautify
11
11
// var normalize = require('./normalize')
12
12
// var hotReloadAPIPath = normalize.dep('vue-hot-reload-api')
@@ -54,7 +54,7 @@ var beautify = require('js-beautify').js_beautify
54
54
module . exports = function ( html ) {
55
55
this . cacheable ( )
56
56
var isProduction = this . minimize || process . env . NODE_ENV === 'production'
57
- // var query = loaderUtils.parseQuery(this.query)
57
+ var query = loaderUtils . parseQuery ( this . query )
58
58
// var isServer = this.options.target === 'node'
59
59
// var isServer = false
60
60
var vueOptions = this . options . __vueOptions__
@@ -68,7 +68,9 @@ module.exports = function (html) {
68
68
// var compiled = compiler.compile(html, Object.assign({
69
69
// preserveWhitespace: vueOptions.preserveWhitespace
70
70
// }, defaultCompileOptions))
71
- var compiled = compiler . compile ( html )
71
+ var compiled = compiler . compile ( html , {
72
+ recyclable : query . recyclable
73
+ } )
72
74
var code
73
75
if ( compiled . errors . length ) {
74
76
var self = this
@@ -80,6 +82,7 @@ module.exports = function (html) {
80
82
var bubleOptions = vueOptions . buble
81
83
code = transpile ( 'module.exports={' +
82
84
'render:' + toFunction ( compiled . render ) + ',' +
85
+ ( compiled [ '@render' ] ? ( '"@render":' + toFunction ( compiled [ '@render' ] ) + ',' ) : '' ) +
83
86
'staticRenderFns: [' + compiled . staticRenderFns . map ( toFunction ) . join ( ',' ) + ']' +
84
87
'}' , bubleOptions )
85
88
// mark with stripped (this enables Vue to use correct runtime proxy detection)
0 commit comments