diff --git a/dist/reactTemplates.js b/dist/reactTemplates.js index 5c3cae8a..e0eb9852 100644 --- a/dist/reactTemplates.js +++ b/dist/reactTemplates.js @@ -243,12 +243,16 @@ function generateProps(node, context) { props[propKey] = convertText(node, context, val.trim()); } + // Note: The correct way to handle require being output in generated + // templates is to ensure the output is processed by webpack. if (node.name === 'img' && propKey === 'src') { - let evaluated = props[propKey]; - if (/^"\/?bhf-assets/.test(evaluated)) { - evaluated = 'require(' + evaluated.replace(/^"\/?bhf-assets/, '"bhf-assets') + ')'; + let nv = val.trim(); + // Remove any leading / so module aliases are easier, the + // code should probably be updated but this is currently easier. + if (nv[0] === '/') { + nv = nv.slice(1); } - props[propKey] = evaluated; + props[propKey] = `require('${ nv }')`; } }); _.assign(props, generateTemplateProps(node, context)); diff --git a/src/reactTemplates.js b/src/reactTemplates.js index 5cdf3473..98dac29d 100644 --- a/src/reactTemplates.js +++ b/src/reactTemplates.js @@ -245,15 +245,17 @@ function generateProps(node, context) { props[propKey] = convertText(node, context, val.trim()); } - // Only run this in the client. + // Note: The correct way to handle require being output in generated + // templates is to ensure the output is processed by webpack. if (node.name === 'img' && propKey === 'src') { - let evaluated = props[propKey]; - if (/^"\/?bhf-assets/.test(evaluated)){ - evaluated = `( typeof window !== 'undefined' ? require(${evaluated.replace(/^"\/?bhf-assets/, '"bhf-assets')}) : ${evaluated})`; - } - props[propKey] = evaluated; + let nv = val.trim(); + // Remove any leading / so module aliases are easier, the + // code should probably be updated but this is currently easier. + if (nv[0] === '/') { + nv = nv.slice(1); + } + props[propKey] = `require('${nv}')`; } - }); _.assign(props, generateTemplateProps(node, context));