如何在不同的模块中构建NodeJS应用程序?

时间:2018-05-22 21:08:09

标签: node.js express typeorm

到目前为止,我已经了解了一些关于NodeJS的知识。但现在我想用它写一个巨大的企业应用程序,我想知道如何正确设置结构?来自PHP和Java等其他语言,我想,我会将我的项目拆分为不同的NPM模块。例如@ mybigproject / customer,@ mybigproject / cart和@ mybigproject / checkout等等。

但是这些子模块将安装在应用程序框架的node_modules文件夹中。我怎么告诉例如Express,模板文件在不同的模块目录中?或者例如我使用TypeORM进行数据访问。所以每个模块都有它自己的一组模型。这些模型如何知道数据库配置数据,因为它只在主应用程序框架中,或者反过来,应用程序框架应该如何知道在哪里找到模型?

2 个答案:

答案 0 :(得分:1)

不要将npm模块用于项目的不同部分。

此组件是项目的组成部分,通常取决于您的全局配置/架构/路由/等

只需将其放在不同的文件中,并在需要的地方使用它。

您可以从Sail.JS

等项目中了解文件夹结构

如果您编写一些实用程序来为不同的应用程序提供服务,并且您想要一种简单的方法为所有应用程序升级一次实用程序代码(或者如果您希望将该实用程序作为所有应用程序的开源共享),请使用npm模块我们)

答案 1 :(得分:0)

NPM可以将您的本地文件夹作为依赖项安装。 (ref)

  
      
  • npm install< folder>:
  •   
     

在目录中将包作为符号链接安装在目录中   项目。它的依赖项将在链接之前安装。如果    位于项目的根目录中,其依赖性可能是   提升到toplevel node_modules,就像其他类型的一样   的依赖关系。

您的模块在安装后保留其原始位置,并在顶级node_modules文件夹中创建符号链接作为模块文件夹的相同名称。

在这些自定义子模块中,您可以使用__dirname和相对路径来查找配置文件以提供给数据库或其他数据使用者。

但请记住,子模块通常用作主模块的实用功能。它们应独立于项目环境。