Я использовал экспресс-статические файлы, чтобы делать то, что вы просите, если вы хотите прочитать больше, вы можете сделать это на http://expressjs.com/en/starter/static-files.html [113 ]
Прежде всего, в вашем файле "app.js" вы должны добавить эти две строки:
app.use('/public', express.static(__dirname +'../public'));
app.use('/admin', express.static(__dirname +'../admin/js'));
После этого вы должны проверить index.html с обеих сторон. - Завершите проекты и убедитесь, что у каждого из них есть правильная база. Например,
public / index.html должен иметь:
admin / index.html должен иметь:
Я надеюсь, что это работает для вас!
Согласовано. Они принадлежат на уровне обслуживания. Контроллер должен только быть очень тонким; просто вызывая соответствующие классы бизнес / данные / что угодно и отбрасывая данные в совпадающем представлении.
Я всегда проектирую свой бизнес-уровень так, чтобы он мог работать независимо от среды, через которую представлены данные. Так, например, если бы я отправлял электронное письмо при создании новой учетной записи, я бы хотел, чтобы это происходило независимо от того, создает ли пользователь учетную запись через веб-сайт или приложение для настольного компьютера. В этом случае отправка электронной почты будет происходить на бизнес-уровне, поскольку она является общей для обоих носителей.
Большую часть времени вы можете прояснить подобные проблемы, подумав о том, что бы вы хотели случиться, если бы вместо BLL у вас был слой веб-службы или приложение Windows. вашего веб-приложения. Вы все еще хотели бы, чтобы то же самое электронное письмо вышло? Если ответ «да», то отправка электронного письма является частью вашей бизнес-модели и должна быть включена в список BLL. если ответ «нет», то отправка электронного письма - это действительно логика приложения, и она должна идти на уровне приложения.
Если бы это была основная бизнес-функция, я бы поместил ее на уровень обслуживания.
Однако я мог бы абстрагировать класс «MailSender», чтобы мой уровень обслуживания не был явно привязан к отправке электронной почты определенным образом (например, с использованием System.Web.Mail). Вы можете использовать другой метод позже (например, асинхронная отправка почты с использованием очередей). Это также позволяет вам безопасно выполнить модульное тестирование без рассылки спама (заменив MailSender на тот, который фактически не отправляет почту):)
в mix и pdc phill сказал в своем выступлении:
thin controllers, fat models
На самом деле у меня просто есть действия контроллера в моих контроллерах. Вся остальная бизнес-логика решается каким-то другим слоем, каким бы он ни был.