Я хочу создать приложение Node.js, работающее в Windows, Mac и большинстве Linux. Это просто? Есть ли такие хорошие примеры? Что мне нужно учитывать при этом? Я понимаю, что разделитель путей к файлам - одна из важных проблем. Есть другие?
Я хотел бы услышать, есть ли у кого-нибудь реальный опыт и "подводные камни", с которыми они столкнулись при создании кроссплатформенное приложение Node.js. Спасибо





Я согласен с https://stackoverflow.com/users/3731501/estus, вопрос о том, какие функции вы хотели бы иметь в своем приложении, довольно широк.
С учетом сказанного, вполне может быть невозможно создать какое-либо приложение, которое будет работать одинаково на всех платформах, но вы сможете достичь почти функционального паритета, приложив немного усилий и понимания.
Основные проблемы, с которыми вы столкнетесь, связаны с файловыми системами. Команда node.js создала отличное руководство по работа с разными файловыми системами, которое станет хорошим началом, по крайней мере, для понимания некоторых передовых практик и подходов к устранению различий и использованию модуля fs на разных платформах.
Любые другие сложности и соображения, связанные с операциями, зависящими от платформы, неизбежно связаны с тем, что пытается делать ваше приложение. Как только это будет определено, вам нужно будет устранить эти различия, просмотрев любой модуль, который вы используете для выполнения ожидаемых функций и кодирования отклонений. Документация для api в общей библиотеке node.js очень хорошо раскрывает любые поведенческие или функциональные различия между операционными системами, поэтому при их использовании вы должны как минимум знать, как эти модули и соответствующие методы ведут себя в хост-системах. Надеюсь, это поможет.
Спасибо за отличный ответ. Возможно, мне следовало озаглавить свой вопрос «Каковы некоторые подводные камни при попытке создать кроссплатформенные приложения Node.js?». Это широкий вопрос, но в то же время важный для большинства проектов, не связанных с Node.js. В конце концов, вы хотите иметь возможность писать максимально переносимый код. Я также нашел эту статью на случай, если другие заинтересуются этой темой, Shapeshed.com/writing-cross-platform-node. Как я уже упоминал в своем вопросе, меня особенно интересуют "подводные камни" и реальный опыт написания кроссплатформенных Node.js.
Вопрос слишком общий. Вы даже не упоминаете, что должно делать приложение. Необходимо учитывать все, что может повлиять на кроссплатформенную совместимость. Звучит бесполезно, правда? Один ответ не может предоставить вам всю необходимую информацию и избавить вас от нескольких лет тяжелой работы.