Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的动态路由_Javascript_Node.js_Express - Fatal编程技术网

Javascript Node.js中的动态路由

Javascript Node.js中的动态路由,javascript,node.js,express,Javascript,Node.js,Express,我想创建动态存根作为Web服务。我的想法是在每次请求时加载一个定义文件,并返回相应URL的数据。 定义文件可能如下所示: /api/users {users:["john", "jack", "jake"]} /api/users/1 {user:"john"} /api/some-data/1 {data:"some data"} 在我代表教程创建的应用程序中,我发现: router.post('/some-irl', function (req, res) { //some cod

我想创建动态存根作为Web服务。我的想法是在每次请求时加载一个定义文件,并返回相应URL的数据。 定义文件可能如下所示:

/api/users {users:["john", "jack", "jake"]}
/api/users/1 {user:"john"}
/api/some-data/1 {data:"some data"}
在我代表教程创建的应用程序中,我发现:

router.post('/some-irl', function (req, res) {
    //some code
    return {some JSON}
});
但是这个定义在我看来是静态的,应该在我启动Node.js之前就已经存在了。在请求发生时是否可以定义/一些irl

编辑


事实上,我本打算做这样的事情:但它已经存在了

您可以在路由中定义变量,在变量名之前使用
进行定义,然后您将在req.params中获得值:

route.get('/api/users/:user/', function (req, res) {
   var username = req.params.user;
});

您可以附加一个
使用
中间件,它可以检查路径并决定是处理路径还是传递路径:

router.use(function(req, res, next) {
    // req.path
    // decide what to do
    // respond or next()
});
看一看-我假设您使用
express
,route path可以有类似于mini-regex的匹配,您可以命名参数,使其可选或选择性,等等。。。