每个Package.json一个节点应用程序

时间:2013-08-04 22:10:59

标签: web-services node.js package project

我是Nodejs的新手,但主要来自.net背景。在那里,在一个解决方案中拥有多个asp.net项目是正常的。例如Web服务,Web前端,然后加载框架和共享逻辑。

现在来到nodejs我计划做类似的事情,有一个解决方案有2个项目,一个是Web服务风格应用程序,一个是前端应用程序,两者都是使用相同的框架,并在项目中有一些共享逻辑。

当前文件夹结构如下:

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

现在在上面的示例框架中将包含许多共享内容,例如模型,存储库,工厂等。然后Web服务将只处理保存和公开数据,然后前端只有一个视图调用网络服务。那么上面的用例好吗?目前我只是使用jake构建并输出带有app.js文件的2个文件夹,然后单独运行,但只是想知道这是不是很糟糕的做法。

1 个答案:

答案 0 :(得分:2)

我认为节点约定只是使每个frameworkweb-serviceweb-ui独立的npm模块都有自己的package.json文件,然后用于组合项目有一个单独的第4个模块,它将每个其他模块列为依赖项。 npm支持各种URL模式,包括使用标记版本的git(或github)存储库URL。

所以我建议:

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 linkuberproject,还可以阅读framework(或仅使用符号链接)。