ExpressJS - 最佳实践
与具有定义好的做事方式、文件结构等的 Django 和 Rails 不同,Express 不遵循定义好的方式。这意味着您可以按照自己喜欢的方式构建应用程序。但是随着应用程序规模的增长,如果没有明确定义的结构,维护起来会非常困难。在本章中,我们将介绍构建应用程序时常用的目录结构和关注点分离。
首先,我们将讨论创建节点和 Express 应用程序的最佳实践。
始终使用 npm init 开始节点项目。
始终使用 --save 或 --save-dev 安装依赖项。这将确保如果您移动到其他平台,只需运行 npm install 即可安装所有依赖项。
坚持使用小写文件名和驼峰命名变量。如果您查看任何 npm 模块,其名称均以小写字母命名并用破折号分隔。每当您需要这些模块时,请使用驼峰命名。
不要将 node_modules 推送到您的存储库。相反,npm 会在开发机器上安装所有内容。
使用 config 文件存储变量
将路由分组并隔离到它们自己的文件中。例如,以我们在 REST API 页面中看到的电影示例中的 CRUD 操作为例。
目录结构
现在让我们讨论一下 Express 的目录结构。
网站
Express 没有用于创建应用程序的社区定义结构。以下是网站主要使用的项目结构。
test-project/
node_modules/
config/
db.js //数据库连接及配置
credentials.js //您的应用使用的外部服务的密码/API 密钥
config.js //其他环境变量
models/ //对于 mongoose 模式
users.js
things.js
routes/ //不同文件中不同实体的所有路由
users.js
things.js
views/
index.pug
404.pug
...
public/ //正在提供所有静态内容
images/
css/
javascript/
app.js
routes.js // 要求此处包含所有路由,然后要求此文件
app.js
package.json
还有其他方法可以使用 Express 构建网站。您可以使用 MVC 设计模式构建网站。欲了解更多信息,请访问以下链接。
https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168
并且,
https://www.terlici.com/2014/08/25/best-practices-express-structure.html。
RESTful API
API 设计起来更简单;它们不需要 public 或 views 目录。使用以下结构来构建 API −
test-project/
node_modules/
config/
db.js //数据库连接及配置
credentials.js //您的应用使用的外部服务的密码/API 密钥
models/ //对于 mongoose 模式
users.js
things.js
routes/ //不同文件中不同实体的所有路由
users.js
things.js
app.js
routes.js // 要求此处包含所有路由,然后要求此文件
app.js
package.json
您还可以使用 yeoman 生成器 来获得类似的结构。

