From c73c3ec16073bde8f92b94ddf8c93bf95ffcd1e8 Mon Sep 17 00:00:00 2001 From: likui <2218301630@qq.com> Date: Wed, 19 Feb 2020 18:45:56 +0800 Subject: [PATCH] fix(compiler-core): should alias name for helpers fix #740 --- packages/compiler-core/__tests__/transforms/vBind.spec.ts | 2 +- packages/compiler-core/src/transform.ts | 5 +---- packages/compiler-core/src/transforms/transformElement.ts | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/compiler-core/__tests__/transforms/vBind.spec.ts b/packages/compiler-core/__tests__/transforms/vBind.spec.ts index 9aec71610f4..b53160fd267 100644 --- a/packages/compiler-core/__tests__/transforms/vBind.spec.ts +++ b/packages/compiler-core/__tests__/transforms/vBind.spec.ts @@ -137,7 +137,7 @@ describe('compiler: transform v-bind', () => { expect(props.properties[0]).toMatchObject({ key: { children: [ - `${helperNameMap[CAMELIZE]}(`, + `_${helperNameMap[CAMELIZE]}(`, { content: `_ctx.foo` }, `(`, { content: `_ctx.bar` }, diff --git a/packages/compiler-core/src/transform.ts b/packages/compiler-core/src/transform.ts index bdaf918546f..af62ba86758 100644 --- a/packages/compiler-core/src/transform.ts +++ b/packages/compiler-core/src/transform.ts @@ -161,10 +161,7 @@ export function createTransformContext( return name }, helperString(name) { - return ( - (context.prefixIdentifiers ? `` : `_`) + - helperNameMap[context.helper(name)] - ) + return `_${helperNameMap[context.helper(name)]}` }, replaceNode(node) { /* istanbul ignore if */ diff --git a/packages/compiler-core/src/transforms/transformElement.ts b/packages/compiler-core/src/transforms/transformElement.ts index 7338db71e6a..905268dee31 100644 --- a/packages/compiler-core/src/transforms/transformElement.ts +++ b/packages/compiler-core/src/transforms/transformElement.ts @@ -517,7 +517,6 @@ function buildDirectiveArgs( const dirArgs: ArrayExpression['elements'] = [] const runtime = directiveImportMap.get(dir) if (runtime) { - context.helper(runtime) dirArgs.push(context.helperString(runtime)) } else { // inject statement for resolving directive