diff --git a/packages/vue-cli-plugin-hbuilderx/build/vue-loader.conf.js b/packages/vue-cli-plugin-hbuilderx/build/vue-loader.conf.js index 641c91c803e6b2f1368facf36854d39fa6498539..14b837806c018edd3424cb93134971fa9734f83f 100644 --- a/packages/vue-cli-plugin-hbuilderx/build/vue-loader.conf.js +++ b/packages/vue-cli-plugin-hbuilderx/build/vue-loader.conf.js @@ -18,7 +18,32 @@ const TAGS = [ 'slider' ] -const modules = [] +const modules = [{ + // render-whole => append="tree" + preTransformNode (el, options) { + if (!Object.hasOwnProperty.call(el.attrsMap, 'append')) { + const name = 'render-whole' + const value = el.attrsMap[name] + if (value === true || value === 'true') { + // remove + delete el.attrsMap.append + const index = el.attrsList.findIndex(item => item.name === name) + const attr = el.attrsList[index] + el.attrsList.splice(index, 1) + + el.appendAsTree = true + el.attrsMap.append = 'tree' + el.attrsList.push({ + name: 'append', + value: 'tree', + bool: false, + start: attr.start, + end: attr.end + }) + } + } + } +}] const deprecated = { events: { @@ -105,7 +130,7 @@ const oldCompile = compiler.compile compiler.compile = function (source, options = {}) { (options.modules || (options.modules = [])).push(autoComponentsModule) - options.modules.push(require('@dcloudio/uni-template-compiler/lib/asset-url')) + options.modules.push(require('@dcloudio/uni-template-compiler/lib/asset-url')) options.modules.push(require('@dcloudio/uni-template-compiler/lib/bool-attr')) options.isUnaryTag = isUnaryTag