使用 Express.js 在 Node.js 中设置路由的最佳方式
Posted
技术标签:
【中文标题】使用 Express.js 在 Node.js 中设置路由的最佳方式【英文标题】:Best way to set up routes in Node.js with Express.js 【发布时间】:2012-08-01 02:50:20 【问题描述】:我想知道如何在 Express.js 中构建我的路线。这是我现在的应用程序目录:
├── public
│ ├── images
│ ├── javascripts
│ │ ├── showLogin.js
│ │ └── showSignup.js
│ └── stylesheets
│ ├── dash.styl
│ ├── reset.styl
│ ├── space.styl
│ ├── style.css
│ ├── style.styl
│ └── typography.styl
├── routes
│ └── index.js
├── views
│ ├── dash.jade
│ ├── index.jade
│ ├── layout.jade
│ └── space.jade
├── app.js
└── package.json
最好将 routes/index.js 分解成几个单独的路由文件吗?这个我试过了,显然我不太擅长,哈哈。
另一种选择是在某处引入 lib 目录。通常在哪里这样做?
任何其他建议都会动摇!
【问题讨论】:
自从 Express.js 4.0 以来,这对我来说发生了变化。我现在对网站路由和 api 路由使用单独的路由器。 【参考方案1】:我们中的几个人创建了一个小型参考应用程序来编写标准的 Express 应用程序结构。它并不过分复杂或任何东西,我们只是试图创建一些易于理解的东西,并且具有允许应用程序随着时间的推移而增长的结构。
你可以在这里找到它:https://github.com/EAAppFoundry/tableau
当您在那里时,请随时向我们提供反馈。我相信它可以改进。
希望对你有帮助!
【讨论】:
看起来很有趣。我不知道我是否有足够的经验来提供有价值的输入,但这里有:我看到有人将他们的配置放入 JSON 文件 publicConfig.json 和 privateConfig.json,将私有配置保持在应用程序上方的一个目录级别出于安全原因,这似乎是一种有趣的方式。希望对您有所帮助! 谢谢!这是关于 privateConfig.json 的好主意。我一直想做一些隐藏敏感信息(主要是数据库连接信息)的事情,b/c 将这些东西检查到 github 并不是最好的主意。 :) 同意。我自己还没有尝试过,所以如果你成功了,请分享! 如果您遵循仅提供静态文件 (app.use(express.static(查看我对ExpressJS How to structure an application? 的回复。我喜欢将路由分组到控制器(登录、购物车、偏好、照片等)中,并清晰地分离关注点。
【讨论】:
【参考方案3】:看看 PayPal 对 KrakenJS 所做的工作。 它建立在 express 之上,但它添加了一个配置层,以保持路由等超级整洁。
【讨论】:
以上是关于使用 Express.js 在 Node.js 中设置路由的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Express.js 在 Node.js 中设置路由的最佳方式
node.js + express.js:使用 mongodb/mongoose 处理会话
我可以在 Node.js/Express 中动态导入 TypeScript 模块吗?
javascript 在Express.JS中的Node.JS中使用Fetch API