Ошибка 500: ENOENT, откройте "C:\Users\Gilbert\Documents\GitHub\maths4me\base.dust" с Consolidate.js

Я получаю эту ошибку при попытке настроить наследование в dust.js:

500 Error: ENOENT, open 'C:\Users\Gilbert\Documents\GitHub\maths4me\base.dust'

У меня есть файл с именем index.html:

{>"base.dust"/}
   {<title}Hi{/title}

Который вызывает base.dust:

<!DOCTYPE html>
<html>
  <head>
    <title>{+title}Maths 4 me{/title}</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1>Hi</h1>
    <p>Welcome to maths4me</p>
  </body>
</html>

4 ответа

Решение

Частицы пыли выглядят в корне приложения, а не в папке views. Мне потребовалось некоторое время, чтобы понять это. Я ссылался на файл в неправильной папке. Мой код должен был быть:

{>"/views/base.dust"/}
{<title}Hi{/title}

ENOENT означает, что файл не существует.

Проверьте еще раз, что base.dust существует в указанном месте.

Дважды проверьте ваши имена ваших файлов. Для меня я видел эту ошибку Ошибка: ENOENT, и я заметил, что в одном из моих основных app.js я написал

app.get('/', function(req, res) {
    res.sendfile('./views/plan.html');
});

когда я в папке views, я переименовал его в home.html, эта ошибка появляется соответственно

Если вы мне нравитесь, не хотите постоянно указывать полные пути к базовым шаблонам и частям, попробуйте: klei-dust. (это похоже на консолидацию, но только для dustjs-linkedin). В приведенном выше сценарии вы можете просто указать:

{>base/}

Вместо:

{>"views/base.dust"/}

... чтобы заставить его работать.

Другие вопросы по тегам