使用Express从ASP.NET Web API转到Node.js

使用Express从ASP.NET Web API转到Node.js,node.js,express,Node.js,Express,我面临的挑战是探索node.js作为ASP.NET Web API的替代品,以提供RESTful API 我已经开发ASP.NET Web API有一段时间了,并且已经习惯了在该框架中使用某些东西,我想知道其他人在node.js路线上为这些东西做了什么:- 针对MS SQL而不是实体框架使用什么ORM 是否有一种处理路由的好方法,类似于使用路由模板(routeTemplate:“API/{controller}/{id}”)在Web API中获得的方法 到目前为止,我正在使用Express,还

我面临的挑战是探索node.js作为ASP.NET Web API的替代品,以提供RESTful API

我已经开发ASP.NET Web API有一段时间了,并且已经习惯了在该框架中使用某些东西,我想知道其他人在node.js路线上为这些东西做了什么:-

  • 针对MS SQL而不是实体框架使用什么ORM
  • 是否有一种处理路由的好方法,类似于使用路由模板(routeTemplate:“API/{controller}/{id}”)在Web API中获得的方法
    • 到目前为止,我正在使用Express,还没有找到一种方法可以在“顶级”应用类似的东西,这样我就可以拥有单独的控制器
  • 到目前为止,我相信还有很多很多问题要问,但如果有人能帮我解决这些问题,这些是我最关心的问题

  • 对于ORM,使用最多的两个库是knexjs和sequelize,但是,我更喜欢knex
  • 对于映射部分,据我所知,没有一种方法可以像c#中那样实现。通常我要做的是,在app.js中加载一个包含我的路由索引的文件。举个例子,
  • 在你的app.js中

    app.use('/', require('./backend/routes/index'))
    
    然后,在您的路由/索引中

    import express from 'express'
    
    const router = express.Router()
    
    // GET /
    router.get('/', function (req, res) {
    
    })
    
    // GET /countries
    router.get('/countries', (req, res, next) => {
    
    })
    
    // POST /subscribe
    router.post('/subscribe', checkAuth, generalBodyValidation, (req, res, next) => {
    
    })
    
    // All routes to /admin are being solved in the backend/routes/admin/index file
    router.use('/admin', require('./backend/routes/admin/index'))
    
    module.exports = router
    
    您的管理/索引文件可以是 从“express”导入express

    const router = express.Router()
    
    // POST /admin/login
    router.post('/login', (req, res, next) => {
    
    })
    
    module.exports = router
    
    有了这一点,您将能够拥有更好的路线结构


    希望这能问到你的问题,如果我的答案正确,如果没有,请告诉我你不明白的地方:D

    非常有用的答案,非常感谢!只是想知道,你有打字的经验吗?不幸的是,我没有。我从未使用过typescript,但如果您愿意使用它,它似乎是一个很好的库。