Как преобразовать шаблон с Twig в строку в Nodejs? - PullRequest
2 голосов
/ 05 августа 2020

У меня есть шаблон в Twig (https://www.npmjs.com/package/twig), и я хочу, чтобы он отображался в строке. Я использую TS.

function getHtml(title: string, message: string): Promise<string> {
  const html = await promisify(renderFile)('./template.twig', {
    filename: 'template.twig',
    settings: {
       title,
       message,
    },
  });
  return html;
}

Но обещание всегда ожидается, даже если я использую версию обратного вызова, у меня не может быть HTML.

import Twig from 'twig';
Twig.renderFile('./path/to/someFile.twig', {foo:'bar'}, (err, html) => {
  html; // compiled string
});

И с это вызывает предупреждение TS, которое не существует экспорта по умолчанию ...

Спасибо!

1 Ответ

0 голосов
/ 05 августа 2020

Похоже, этот пакет имеет неправильные типы

Попробуйте использовать @ ts-ignore и передать такие аргументы:

// @ts-ignore
promisify(renderFile)('./template.twig', {message: 'Hello'})
    .then(html => console.log(html)); // Message: Hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...