Page 96 - Node.js开发指南
P. 96

5.3  路由控制    89


                     res.render('index', { title: 'Express' });                                       1
                   };

                   app.js 中通过 app.get('/', routes.index); 将“ / ”路径映射到 exports.index
               函数下。其中只有一个语句 res.render('index', { title: 'Express' }),功能是
               调用模板解析引擎,翻译名为 index 的模板,并传入一个对象作为参数,这个对象只有一个                                           2
               属性,即 title: 'Express'。
                   3. index.ejs
                   index.ejs 是模板文件,即 routes/index.js 中调用的模板,内容是:
                                                                                                      3
                   <h1><%= title %></h1>
                   <p>Welcome to <%= title %></p>
                   它的基础是 HTML 语言,其中包含了形如 <%= title %> 的标签,功能是显示引用的
               变量,即 res.render 函数第二个参数传入的对象的属性。                                                       4

                   4. layout.ejs
                   模板文件不是孤立展示的,默认情况下所有的模板都继承自 layout.ejs,即 <%- body %>
               部分才是独特的内容,其他部分是共有的,可以看作是页面框架。
                                                                                                      5
                   <!DOCTYPE html>
                   <html>
                     <head>
                       <title><%= title %></title>
                       <link rel='stylesheet' href='/stylesheets/style.css' />                        6
                     </head>
                     <body>
                       <%- body %>
                     </body>
                   </html>                                                                            7
                   以上就是一个基本的工程结构,十分简单,功能划分却非常清楚。我们会在后面的小节
               中基于这个工程继续完善,直到实现一个功能完整的网站。

                                                                                                      8
               5.3  路由控制

                   在上一节,我们已经讲过了如何使用 Express 建立一个基本工程,这个工程只包含一些
               基础架构,没有任何实际内容。从这一小节开始,我们将会讲述 Express 的基本使用方法,
                                                                                                      9
               在前面例子的基础上逐步完善这个工程。

               5.3.1  工作原理

                                                                                                      10
                    当通过浏览器访问 app.js 建立的服务器时,会看到一个简单的页面,实际上它已经
   91   92   93   94   95   96   97   98   99   100   101