@erm_anton

Как правильно прописывать пути для path?

Написал свой первый проект.
/server.js - входная точка для development
/build/bundle.server.js - транспиленная входная точка (server.js) для production
/views/index.ejs - ejs шаблон

Проблема с ejs шаблоном. В /server.js у меня прописан путь:
app.set("views", path.join(__dirname, 'views'))

Но т.к. транспиленный bundle.server.js запускается из поддиректории (build)
path.join(__dirname, 'views')
превращается в /build/views и, естественно, шаблон не находит.

У меня локально все работает, т.к. собирается вебпаком, а там можно проставить в конфиге
{ node: { __dirname: true } }
Это работает.
Но вот залил сайт на azure; указал входную точку /build/bundle.server.js и там шаблон не находит.
Если вручную поставить
app.set("views", '../views')
То на azure все заработает, но на моем компе уже нет.

В этом, собственно, вопрос. Как решать данную проблему? Как правильно прописать path?
Может path работает по другому в разных версиях ноды? У меня локально старая стоит 0.10.25. На azure по дефолту 4+.
  • Вопрос задан
  • 482 просмотра
Пригласить эксперта
Ответы на вопрос 1
@sergeystepanov1988
Эта я так понимаю проблема получения пути корневой директории проекта. Первый ответ по ссылке предлагает много вариантов, попробуйте вариант называемый NODE_PATH environmental variable.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы