Express.js API函数参数混乱

时间:2016-07-25 05:39:41

标签: javascript node.js express

快递' API文档,它声明了函数的模板," app.use([path,] function [,function ...])"

但是,在执行Express生成器后创建的app.js文件中有这行代码," app.use('/', routes);"和路由在顶部声明为var routes = require('./routes/index');

在浏览index.js及其相应的module.exports之后,我很难理解路由只是一个函数,或者app本身是一个函数,并且可以传递到var server = http.createServer(app);时它的文档还说明它唯一的可选参数是函数。

2 个答案:

答案 0 :(得分:0)

功能也是变量或选项!它是JS等特定编程语言中的一种模式。并非所有语言都支持这一点,但有很多。

https://en.wikipedia.org/wiki/First-class_function

  

在计算机科学中,如果将编程语言视为一等公民,则称其具有一流的功能。具体来说,这意味着该语言支持将函数作为参数传递给其他函数,将它们作为其他函数的值返回,并将它们分配给变量或将它们存储在数据结构中。

正是这种情况正在发生。 为了构造它们被导出的文件和文件系统表示,最后你会找到一些能够处理这个函数的东西(req,res){}

答案 1 :(得分:0)

 <div id="games-container" class="col-md-12">
    <?php 
      $counter = 0;
      $args = array( 'post_type' => 'games', 'posts_per_page' => 10,
             'orderby'    => 'meta_value_num',
             'order'      => 'DES',
             'meta_query' => array(
                         array(
                                'key'     => 'priority_priority'
                            ),
                    ), );
      $loop = new WP_Query( $args );
     while ( $loop->have_posts() ) : $loop->the_post();
     if($counter < 2){           
       ?>
       <a href=<?php echo get_post_permalink()?>>
        <div id="mypost" class="col-md-5" style="min-height:400px;">
        <?php the_post_thumbnail('large');
         ?>
        </div>
        </a>
        <div class="col-md-1"></div>
    <?php
    $counter++;
     } 
    else {?>
    <a href=<?php echo get_post_permalink()?>>
     <div id="mypost" class="col-md-3">
         <!-- post display -->
         <?php the_post_thumbnail('medium'); ?>
        </div>
    </a>
        <div class="col-md-1"></div>
       <?php 
       }
     endwhile; 
     wp_reset_postdata();
     ?>
     </div>

这里您指定哪个路由中间件将用于请求而没有前缀&#34; /&#34;您只需要路由器index.js文件,您将在其中定义自定义路由并告知快递将其用作所有请求的中间件。

因此,它会尝试将每个到服务器的请求映射到此文件中定义的路由,并在routes / index.js文件中执行相应的请求。