Webpack и Browserify не заменяют requirejs напрямую, они заменяют the r.js optimizer, который поставляется с требованием. Оба современных связки запускают ваш код (и, необязательно, таблицы стилей, шаблоны и другие ресурсы) с помощью различных фильтров, создавая один файл с завершенным всем вашим приложением.
Асинхронные модули RequireJS (AMD) были заменены более распространенными определениями модулей CommonJS и ES6. Частично это связано с тем, что узловые модули прекрасно сочетаются с webpack и браузером, но также потому, что преимущества AMD в значительной степени перестают применяться, когда у вас есть один связанный файл. Поскольку все модули доступны одновременно, вам не нужны накладные расходы на управление асинхронной загрузкой.
Webpack и Browserify также расширяют набор функций rjs, добавляя обширную поддержку для составления шаблонов, изображений, шрифтов и других ресурсов в ваш комплект. Они могут запускать транспилеры (например, Babel или TypScript), uglifiers, minifiers и всевозможные другие инструменты на этом пути. Webpack также поддерживает вывод нескольких пакетов и их загрузку по требованию, а также скрывает большую часть данных о развертывании от разработчика.
Спасибо за это объяснение. Мой вопрос в том, когда вы хотите использовать один над другим, или вы можете использовать оба из них взаимозаменяемо? – csjoshi04
Webpack и браузер, в основном, заменяют requirejs и выполняют значительно больше. Вы можете использовать requirejs для загрузки пакета, созданного любым из инструментов, что является довольно типичным случаем для совместной работы, но вы также можете использовать этот комплект самостоятельно. – ssube