@nosok12

Обработка статических файлов в NodeJS (структура — Self-contained components )?

Во первых, я знаю про MVC)) Но меня интересует именно данный подход))
Во вторых заранее извиняюсь, если чуть много написал. Просто хотел хорошо объяснить в чем вопрос.
Допустим у нас есть такая структура проекта.
5e46ceb6eaf08362055161.png
В скриншоте, конечно есть слово API. Но пусть у нас будет простой динамический сайт, где сервер сам формирует страницу. И в место папки components у нас routes. А в нем директории login, logout, register и т.д.
Также конечно там могут быть шаблоны написанные на pug, css файлы, js для стороны клиента и т.д. И некоторое количество вложенных директорий. Например в папке Register, может быть шаблон base.pug, который будет использоваться в шаблоне, который находится в поддиректории RegisterFailed (тут это может быть не самая лучшая идея, я просто пытаюсь мысль донести).

Как можно организовать НОРМАЛЬНО обработку статических файлов в этом случае? Например base.pug:

block vars
doctype html
html
head
title Title | #{title}
link(href='./favicon.png', rel='shortcut icon')
body
block body

А в поддиректории RegisterFailed у нас есть some_template.pug:

extends ../base

block vars
- var title = "some_template"

block body

И даже тут уже проблемы.

Ибо если даже мы напишем в RegisterFailed -> sub-app.js:
const express = require('express');
const Router = express.Router();
const serveStatic = require('serve-static');

// именно serve-static а не express.static - ибо, на сколько я понял при serveStatic,
// именно локально меняется это свойство, а не глобально, как при express.static
Router.use(serveStatic(__dirname));

Все равно не будет работать, ибо при расширении base.pug мы получаем в хэдере some_template.pug:

link(href='./favicon.png', rel='shortcut icon')
А файла то там нет, он находится в директории выше.
Спасибо заранее всем за ответы))
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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