What I've been doing:

export const template = ({title, content}) => `template string for ${title}`;

Or variations thereof. I then import that module wherever I need to use the 
template and call it as a function.

Using eval and having the template string as a normal string (so, read the 
template from file as a string, wrap it with back ticks, and then pass it to 
eval) at the moment is risky since it's possible for input to prematurely end 
the template string and do nasty stuff*. Ideally there would be a variant of 
eval where the string to be evaluated must be a template string expression.

Thomas

* I'm aware that someone could still put something inside a template string and 
do nasty stuff, but I'm not sure if that's a easily solved problem.

> On 13 Sep 2015, at 10:08 PM, Mark S. Miller <[email protected]> wrote:
> 
>> On Sun, Sep 13, 2015 at 2:42 AM, Thomas <[email protected]> 
>> wrote:
>> I'd really like to use Template strings as a templating language, but unless 
>> I include a lot of boilerplate code (export a template string wrapped in a 
>> function from a file)
> 
> Hi Thomas, could you give a concrete example of the boilerplate you have in 
> mind and what it accomplishes?
> 
>  
>> or use eval after loading a file as a string it's pretty much impossible.
>> 
>> Is there a simpler way to be doing this? Or any plans for a type of eval 
>> that only executes it's argument as a template string?
> 
> I am unaware of any such plans. Could you give an example of what it looks 
> like and what it would accomplish? Thanks.
>  
> 
> -- 
>     Cheers,
>     --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to