Code Monkey home page Code Monkey logo

Comments (5)

samselikoff avatar samselikoff commented on July 3, 2024 1

@littlesmilelove sorry about the delayed response!

Would something like this work?

import { Server } from 'miragejs'
import userRoutes from './user-routes'
import orderRoutes from './order-routes'

new Server({
  routes() {
    userRoutes.call(this)
    orderRoutes.call(this)
  }
})

// user-routes.js
export default function() {
  this.get('/users', schema => schema.users.all())
  // ...more routes

  this.passthrough('/api/user/**')
}

// order-routes.js
export default function() {
  this.post('/orders');
  // ...more routes
}

I agree we need a nested/namespaced routing DSL but we don't have one today.

from discuss.

samselikoff avatar samselikoff commented on July 3, 2024

Yes, unfortunately right now that is true because of how we use Pretender.

The guides show how you can export a function to start your server: https://miragejs.com/quickstarts/react/development#step-2-define-your-server

So you could have multiple servers, but only invoke startServer() or makeServer() (or whatever you call it) when you need to. You just can't have two servers running at once, but you can define as many as you like.

If you want to shut one down and start another, you just need to call shutdown() first:

import { makeOneServer, makeAnotherServer } from './servers'

let serverOne = makeOneServer();
// do some things
serverOne.shutdown()
let serverTwo = makeAnotherServer();
// do some more things to interact with the new server
serverTwo.shutdown()

from discuss.

littlesmilelove avatar littlesmilelove commented on July 3, 2024

@samselikoff I get it, but in my case, I want to separate my apis by namespace, so I can define them in separate files, and I also want to set every namespace passthrough strategy, for example:

  • api/user namespace : passthrough enable
  • api/order namespace: passthrough disable

So, can you consider to provide a way for use define routes by namespace, and in the server, all the namespace routes compose a complete server routes. I think this way will meet all my needs.

from discuss.

littlesmilelove avatar littlesmilelove commented on July 3, 2024

@samselikoff thank you for your suggestion, this can solve part of the problem. And can you provide your roadmap? I would like to help you achieve this feature together.

from discuss.

samselikoff avatar samselikoff commented on July 3, 2024

Made a tracking issue here #44

It's not on the immediate roadmap right now because there are other more urgent things, but it does come up a lot so it's important

from discuss.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.