2013-08-04 2 views
2

Я новичок в Nodejs, но я имею в виду фон .net. Там нормально иметь несколько проектов asp.net в рамках одного решения. Например, веб-служба, веб-интерфейс, а затем загрузка структуры и общей логики.Приложение с одним узлом в пакете. Json

Теперь, приступив к nodejs, я планировал сделать аналогичную вещь, имея одно решение с 2 проектами, один из которых является приложением для веб-сервисов, а один - интерфейсом, оба из которых будут использовать те же фреймворки и будет иметь некоторую общую логику в проекте.

Текущая структура папок выглядит следующим образом:

|- root 
    |- source 
     |- framework 
     |- web-service 
     |- web-ui 
    |- tests 
    |- build-scripts 
|- package.json 

Сейчас в приведенном выше примере структуры будет содержать много общего материала, например, модели, хранилищ, фабрик и т.д. Затем веб-служба будет иметь дело только с сохранением и выставляя данные, тогда передняя часть имеет вид с вызовами веб-службы. Итак, это пример использования? так как в настоящее время я просто строю с помощью jake и вывожу 2 папки с файлами app.js, а затем просто запускаю их отдельно, но просто хочу знать, является ли это плохой практикой или нет.

ответ

2

Я думаю, что соглашение узла просто сделать каждый из framework, web-service и web-ui независимых модулей NPM со своими package.json файлами, то для объединенного проекта имеет отдельный 4-й модуль, который перечисляет каждый из других модулей в качестве зависимости , npm поддерживает большое количество URL-схем, включая URL-адреса репозитория git (или github), с помощью отмеченных выпусков.

Так что я предлагаю:

projects/ 
    framework/ 
    package.json 
    web-service 
    package.json //depends on framework 
    web-ui/ 
    package.json //depends on framework 
    uberproject/ 
    package.json //depends on web-service, web-ui, and maybe framework as well 
    //Use URLs like git+ssh://git.example.com/projects/framework.git#v0.9.4 

Также читайте на npm link (или просто использовать символические ссылки), если вы хотите одновременно работать как на uberproject и framework, например.

+0

Я прочитал о команде связи, но я работаю в среде Windows и, видимо, не работает в окнах из-за отсутствия символических ссылок. Однако я буду больше смотреть на структуру, о которой вы упомянули выше, поскольку это имеет смысл, поскольку каждый проект будет описывать свои собственные зависимости. Единственное, что для меня является проблемой в этом сценарии, это то, что мои фактические файлы написаны на машинописном машинописном тексте, и они практически бесполезны, не запуская скрипт сборки для обработки и упаковки. Таким образом, в этом случае все проекты создаются в одно и то же время, но я думаю, это может измениться. – Grofit

+0

Да, вам может понадобиться использовать рабочий процесс, например 'cd web-ui', построить его, затем' cd uberproject' и 'npm install ../ web-ui'. Это не чистая ссылка на npm, но она может работать. Еще одна вещь, которую следует рассмотреть, - организовать uberproject с git-подмодулями для зависимостей вместо реальных модулей npm. –

Смежные вопросы