Описание тега browserify

Browserify - это инструмент, который упаковывает модули Node.js для веб-браузера.

Browserify - это инструмент, который позволяет использоватьмодули Node.js на стороне клиента.

Browserify объединяет выбранные модули в один файл, который можно добавить какscriptв HTML-страницу. Добавлена ​​поддержка стиля CommonJS.require а также эмулирует большую часть стандартной библиотеки Node. Например,http модуль эмулируется с использованием XMLHttpRequest а также bufferмодуль использует TypedArrays.

Browserify Плюсы:

  1. Возможность повторного использования одного и того же кода на сервере (в приложениях Node.js) и на клиенте. Многие модули Node, которые не используют ввод-вывод или взаимодействуют с файловой системой, просто работают с Browserify.

  2. Поддержка модулей CommonJS. Многие разработчики предпочитают CommonJS AMD из-за более подробной записи последнего:

    CommonJS (узел):

    // foo.js
    var bar = require('bar');
    // use bar ...
    module.exports = // some object or function
    

    AMD:

    // foo.js
    define('foo', function (require) {
        var bar = require('bar');
        // use bar ...
        return // some object or function
    });
    
  3. Browserify не мешает разработчику использовать клиентские библиотеки и фреймворки, такие как jQuery, YUI, Backbone и т. Д.

  4. Browserify поддерживает гибкие параметры преобразования для обработки require() файлов, отличных от javascript, таких как CoffeeScript, шаблоны Handlebars/Jade и т. Д.

Browserify Минусы:

  1. Browserify добавляет этап компиляции и, следовательно, требует процесса сборки для вашего клиентского кода. Большинство загрузчиков AMD позволяют писать модули, не требующие компиляции, ценой многословия.

  2. Поддерживаются не все узлы стандартной библиотеки. Заметными упущениями являются поддержка потоков, файловой системы, сетей TCP и UDP и т. Д.

  3. Собственные дополнительные модули не поддерживаются.

  4. Библиотека Browserify для поддержки Node API увеличивает размер результирующего кода. Некоторые из этих накладных расходов можно уменьшить с помощью минификаторов кода, которые поддерживают удаление мертвого кода, таких как Google Closure Compiler или Uglify JS.