我最近开始将 ECMAScript (ES6) 用于使用 Express 的 NodeJS Rest API,但我遇到了一些与 new 关键字有关的问题 import
之前,我会“组织”我的路线文件夹这样做:
我们称这个文件为devices_id.js
export default (app) => {
return app.get("/devices/:id", (req, res) => {
res.send("OK");
});
};
在我的主文件中,我会这样做:
require("./routes")(app); // app is my Express instance
我不知道如何用 ES6 做到这一点,我试过了,import("./routes")
但它不允许我传递app对象
提前致谢。
您在这里缺少express 中的一个关键功能,express.router
. 你有 app.js 导入和附加每个文件
import route1 from './routes/route1'
import route2 from './routes/route2'
app.use('/route1', route1) // All routes in here starts with /route1
app.use('/test', route2) // All routes in here starts with /test
然后你像这样设置每个路由器文件
/路线/路线1
import express from 'express'
const router = express.Router()
// GET /route1/foo
router.get('/foo', (req, res) => {
res.send('OK')
})
export default router
请注意,此代码未经过测试
编辑
不幸的是,目前无法在 ES6 express 中动态导入路由。但是,我多年来一直在使用这个库,效果很好。它会扫描 routes 文件夹中的所有文件夹和子文件夹,并将文件添加到您的 express 实例。它还使用文件和文件夹的名称作为端点的名称。因此,具有良好的文件夹结构,它非常棒且非常动态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句