17
как Node-модули существуют только внутри среды разработки Node. Также, код,
написанный по стандарту ES6 не будет работать в старых браузерах, таких как,
например, Internet Explorer 11. Webpack решает эти проблемы, транслируя такой код
в стандарт, который браузер умеет воспринимать [8] [9]. Кроме того, Webpack
предоставляет широкий набор возможностей оптимизации конечных файлов, о
которых речь пойдет дальше.
Во-вторых, можно включать в проект библиотеки не целиком. Например, объем
исходного кода таких библиотеки, как Moment.js и Lodash можно значительно
уменьшить, указав в конфигурационном файле, какие из локализационных файлов
оставить (для Moment.js), или настройку не добавлять неиспользуемые функции (для
Lodash) [6].
В-третьих, можно разделять один большой файл с клиентскими данными на
несколько поменьше и подгружать их «по требованию». Например, если сайт
представляет собой интернет-магазин, совершенно не обязательно, что пользователь
что-то купит (перейдет на страницу оформления заказа) или воспользуется не
основными страницами, а значит ему не нужны стили и скрипты, которые
используются только на тех страницах, и их можно исключить из основного файла.
1.2.3. Прикладное ПО
Прикладное ПО, как и ПО серверной части web-приложений, нужно
упаковывать, в первую очередь для удобства разработки, поддержки и
распространения. Рассмотрим все три варианта использования на примере
библиотеки языка Python.
С точки зрения программиста, это позволяет удобно разворачивать среду
разработки. Если все библиотеки упакованы стандартным образом, их можно
установить буквально одной консольной командой. На Рис. 3 и Рис. 4 приведены