Это не будет полным ответом на ваш вопрос, но одна библиотека, которая может помочь, если вы решите заняться таким делом, может быть Browserify .
Он разработан таким образом, что вы можете использовать аналогичную функцию require () с предварительно обработанным или «на лету», сгенерированным из js-файла источника, содержащего множество различных модулей. Эти модули могут совместно использоваться на стороне сервера с помощью одного и того же механизма require ().
Я не знаю, как обстоят дела с Backbone, реализованным на стороне сервера в качестве встречной части на стороне сервера для синхронизации моделей, что, по-видимому, является первой целью, которую вы ищите, для предоставления кода, который имеет смысл для совместного использования, например в качестве моделей и валидации, которые будут полезны.
Еще одна вещь, на которую стоит обратить внимание, это requirejs, который использует более традиционные теги скрипта для асинхронной загрузки модулей js, но также работает в node.js, позволяя тем же модулям AMD делиться между кодом узла и клиента.