2018 ответ: в основном по историческим причинам, но это может измениться в будущем.
Исторически на сервере выполнялось очень мало манипуляций с DOM. Идиотски, как указывают другие ответы, JS stdlib и DOM - это отдельные библиотеки - если вы используете нод, например, для сценариев Unix, то HTMLElement
и NodeList
и т. Д. На самом деле не имеют к этому отношения.
Однако: манипулирование DOM на стороне сервера в настоящее время является очень распространенной частью доставки веб-приложений . Веб-серверы должны понимать структуру страниц и, если их просят представить ресурс в виде HTML, доставлять контент HTML, который отражает начальное состояние веб-приложения. Это означает, что веб-приложения загружаются намного быстрее, чем если бы сервер просто доставлял заглушки и имел браузеры, а затем выполнял работу по заполнению реального контента. В настоящее время это делается с помощью JSDom и аналогичных, но таким же образом узел имеет встроенные объекты Request
и Response
, и поддержание функций DOM как части stdlib поможет в этой задаче.