Node.js повторно используемый код сервер-клиент - PullRequest
2 голосов
/ 17 января 2012

Я занимаюсь исследованиями и разработками для Node.js, и пока мне это нравится, мне просто интересно, как я мог бы повторно использовать код, чтобы иметь некоторый общий код между клиентом и сервером.

Хорошим примером такой необходимости может служить Backbone.js, который я установил с помощью npm.

В настоящее время у меня есть каталог, который выглядит следующим образом:

app.js
    public/
    routes/
    views/
    node_modules/
    tests/

Очевидно, что я использую express.js, и весь мой клиентский код находится в папке public, в которой находятся файлы css, images, js.

Так, как я мог иметь модель в магистрали, которую я мог использовать как на сервере, так и обратно?

Также я использовал JavaScript AMD с Require.js для того, чтобы структурировать и модулировать свое приложение, я к нему привык, и мне нравится, я видел, что require.js доступен через npm, но теперь, когда я его установил, я Я не уверен, как я могу использовать его на стороне клиента, так как у меня было что-то вроде этого: <script data-main="js/main" src="js/libs/Require/require.js">, но так как require.js установлен через npm, он не находится в общей папке, поэтому я не вижу никакой возможности способ загрузить его.

Спасибо

Ответы [ 2 ]

1 голос
/ 17 января 2012

Вы можете добавить символическую ссылку (ln -s) на require.js из общей папки.

Я думаю, что вы можете просто разместить модель магистрали публично, а затем использовать requirejs как на сервере, так и на клиенте, чтобы загрузить один и тот же файл.

0 голосов
/ 29 декабря 2013

Я полагаю, что это несколько поздно, но я просто хотел добавить, что вместо использования browserify на стороне клиента вы можете использовать https://npmjs.org/package/define на стороне сервера, что позволяет определять модули в стиле AMD, но требуют их с помощью узла require ()

...