mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Create local variable for helpers
This commit is contained in:
parent
e7166be149
commit
dba43a8733
@ -23,7 +23,7 @@ function addHandlerVar(template, renderer) {
|
||||
var handlerVar = handlerVars[renderer];
|
||||
if (!handlerVar) {
|
||||
handlerVar = renderer.replace(/[.\-\/\\]/g, '_').replace(/^[_]+/g, '');
|
||||
handlerVar = template.addStaticVar(handlerVar, '__helpers.r(require(' + stringify(renderer) + '))');
|
||||
handlerVar = template.addStaticVar(handlerVar, '__renderer(require(' + stringify(renderer) + '))');
|
||||
handlerVars[renderer] = handlerVar;
|
||||
}
|
||||
return handlerVar;
|
||||
@ -101,9 +101,11 @@ TagHandlerNode.prototype = {
|
||||
this.inputExpression = expression;
|
||||
},
|
||||
doGenerateCode: function (template) {
|
||||
template.addStaticVar('__renderer', '__helpers.r');
|
||||
|
||||
var rendererPath = template.getRequirePath(this.tag.renderer); // Resolve a path to the renderer relative to the directory of the template
|
||||
var handlerVar = addHandlerVar(template, rendererPath);
|
||||
var tagHelperVar = template.addStaticVar('_tag', '__helpers.t');
|
||||
var tagHelperVar = template.addStaticVar('__tag', '__helpers.t');
|
||||
|
||||
this.tag.forEachImportedVariable(function (importedVariable) {
|
||||
this.setProperty(importedVariable.targetProperty, template.makeExpression(importedVariable.expression));
|
||||
|
||||
@ -385,9 +385,10 @@ module.exports = function transform(node, compiler, template) {
|
||||
value = compiler.makeExpression(pathVar);
|
||||
}
|
||||
} else if (type === 'template') {
|
||||
template.addStaticVar('__loadTemplate', '__helpers.l');
|
||||
var templateVar;
|
||||
if (compiler.hasExpression(attr.value)) {
|
||||
value = compiler.makeExpression('__helpers.l(' +
|
||||
value = compiler.makeExpression('__loadTemplate(' +
|
||||
convertAttrValue(
|
||||
attr,
|
||||
'string',
|
||||
@ -395,7 +396,7 @@ module.exports = function transform(node, compiler, template) {
|
||||
')');
|
||||
} else {
|
||||
// Resolve the static string to a full path only once
|
||||
templateVar = template.addStaticVar(attr.value, '__helpers.l(require.resolve(' + compiler.convertType(attr.value, 'string', true) + '))');
|
||||
templateVar = template.addStaticVar(attr.value, '__loadTemplate(require.resolve(' + compiler.convertType(attr.value, 'string', true) + '))');
|
||||
value = compiler.makeExpression(templateVar);
|
||||
}
|
||||
} else {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user