我是 Nodejs 新手,但主要来自 .net 背景。在那里,一个解决方案中有多个 ASP.NET 项目是很正常的。例如 Web 服务、Web 前端,然后是框架和共享逻辑的负载。
现在来到 Nodejs,我计划做一件类似的事情,有一个包含 2 个项目的解决方案,一个是 Web 服务样式应用程序,一个是前端应用程序,这两个项目都是使用相同的框架,并且在项目中会有一些共享的逻辑。
当前文件夹结构如下所示:
|- root
|- source
|- framework
|- web-service
|- web-ui
|- tests
|- build-scripts
|- package.json
现在,在上面的示例框架中将包含许多共享内容,例如模型、存储库、工厂等。然后 Web 服务将只处理保存和公开数据,然后前端只有一个 View ,并调用网络服务。那么上面的用例可以吗?目前我只是用 jake 构建并输出 2 个带有 app.js 文件的文件夹,然后单独运行,但只是想知道这是否是不好的做法。
最佳答案
我认为 Node 约定只是让每个framework
、web-service
和web-ui
独立的npm模块及其自己的 package.json 文件,然后对于组合项目有一个单独的第四个模块,它将其他每个模块列为依赖项。 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
例如,当您想同时处理 uberproject
和 framework
时,还请阅读 npm link
(或仅使用符号链接(symbolic link)) .
关于web-services - 每个 Package.json 一个 Node 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048101/