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



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

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

当前文件夹结构如下:

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

现在,在上面的示例中,框架将包含许多共享的东西,如模型、存储库、工厂等。然后web服务将只处理保存和公开数据,然后前端只具有对web服务的调用视图。那么上面的用例可以吗?目前,我只是用jake构建,并用app.js文件输出两个文件夹,然后单独运行,但我只是想知道这是否是一种糟糕的做法。

我认为节点约定只是让frameworkweb-serviceweb-ui中的每一个都独立于具有自己的package.json文件的npm模块,然后对于组合项目,有一个单独的第四个模块,将其他模块作为依赖项列出。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

例如,当您想同时处理uberprojectframework时,也可以阅读npm link(或仅使用符号链接)。

相关内容