Недавно мы перешли на использование TypeScript в нашем проекте Angular 1.x и используем Webpack для объединения наших модулей, что позволяет нам создавать объединенную версию наших источников для включения в нашу страницу index.html.
Когда дело доходит до модульности нашего приложения angular, мы старались следовать лучшим практикам, следуя руководству по стилю Джона Папы и т. Д.
В последнее время я размышлял о том, что все наши модули функций angular объединены в окончательный файл, который создает для нас webpack.
Пользователи, которые войдут в приложение, не обязательно будут иметь доступ ко всем предлагаемым функциям на основе настроек разрешений их учетной записи (которые мы читаем при входе в систему). Если пользователь может получить доступ, скажем, к 2 из 5 функций, то в его браузере загруженный исходный код по-прежнему будет включать в себя весь набор разработанных функций (да, мы делаем наш исходный код безупречным).
Я видел упомянутые загрузчики модулей и задавался вопросом, могут ли они использоваться только для обслуживания того, что нужно клиенту при навигации по приложению?
Таким образом, при загрузке приложения они получат только основные модули \ функции, которые необходимы как минимум, например доставить их на домашнюю страницу с помощью навигации и т. д.
И затем, когда они щелкают по функциональным областям, к которым у них есть доступ, могут ли только эти связанные источники модулей быть извлечены и, возможно, кэшированы для повторного посещения позже?
Я понимаю, что в конечном итоге это будет больше сетевых запросов, но начальная загрузка приложения при первом посещении будет намного быстрее?
Я новичок в сборке и загрузке модулей и думаю, что у меня есть базовое представление о различиях. Какие подходы использовали другие, когда дело доходит до такого рода вещей?
Спасибо