Сжатие node_modules для развертывания на стороне клиента

реализовать клиентское приложение на JavaScript с помощью Node.js. Поскольку я буду развертывать программное обеспечение на многих машинах, я хотел бы минимизировать размер распространяемого пакета. В частности, я хотел бы удалить все ненужные файлы из node_modules.

Для начала это означает дедупликацию и сокращение дерева зависимостей, котороеnpm могу сделать для меня. Но я'также хотел бы удалить всеpackage.json файлы и (особенно) любые другие файлы, которые не нужны для развертывания. Во многих пакетах, которые я использую, есть тонны тестов, несколько версий файлов (минимизированные, просматриваемые и т. Д.) И тому подобное. Мне просто нужны файлы JavaScript, которые на самом деле используются запущенным приложением. В противном случае ябудет распространять несколько 100 КБ файлов, которые нет на самом деле используется.

Я знаю оnode-browserify но мое приложение будет работать в среде CommonJS, а не в браузере, поэтому яЯ хотел бы хранить модули отдельно и загружать их с помощью .I 'require

я думаю о написании плагина Grunt, который ходит по дереву зависимостей, используяrequiredизвлекает файлы JavaScript, необходимые во время выполнения, и записывает их в древовидную структуру, чтобы их можно было загрузить с помощьюrequire (просто загрузка модулей напрямую без необходимостиpackage.json). Но я'Я хотел бы убедиться, что никто не сделал это для меня, прежде чем я займусь этим.

Ответы на вопрос(2)

Ваш ответ на вопрос