#node.js #typescript #es6-modules
Вопрос:
Я работаю с проектом, который все еще переносит TS в CommonJS для работы на узле. Теперь, когда узел начал переходить на модули ES, есть ли преимущество в производительности при переходе от commonjs? Или разница буквально поверхностна?
Я знаю, что в предыдущих версиях собственный ESM не поддерживался, поэтому старые ответы и другие вопросы кажутся устаревшими. Из-за этого я, кажется, не могу найти хорошего ответа.
Комментарии:
1. Мне бы тоже очень хотелось это знать
2. Учитывая более читаемый синтаксис, модули ES обеспечивают лучшую производительность для разработчиков.
Ответ №1:
CommonJS загружает модули синхронно, модули ES являются асинхронными.
Одним из ограничений использования require() является то, что он загружает модули синхронно. Это означает, что модули загружаются и обрабатываются один за другим.
Как вы, возможно, догадались, это может создать несколько проблем с производительностью для крупномасштабных приложений, в которых сотни модулей. В таком случае импорт может превзойти require (), основываясь на его асинхронном поведении.
Однако синхронный характер require() может не представлять большой проблемы для мелкомасштабного приложения, использующего пару модулей.
Приведенный выше текст цитируется непосредственно из https://blog.logrocket.com/commonjs-vs-es-modules-node-js/