zoukankan      html  css  js  c++  java
  • Express开发实例(2) —— Jade模板引擎

    前一篇通过helloworld,简单介绍了Express中的开发,本篇继续深入的学习express的模板。

    关于Jade的用法,网上有很多,本篇参考:Jade语法

    安装相关模块

    在实验代码前,应该先安装express和jade:

    npm install express
    npm install jade

    简单介绍本篇使用的api

    1 为了使用jade,先要设置express默认的模板引擎,用法如下:

    app.set('view engine', 'jade');//设置默认的模板引擎

    2 如果要进行样式的定义,就要创建静态文件目录,该目录中的内容,可以直接在浏览器中获取到:

    app.use(express.static(路径));

    比如路径为public,那么我们在访问localhost:3000/pubic/xxxx就可以得到相应的文件。

    3 设置视图的对应目录

    app.set('views',xxxx);

    4 向特定路径的视图返回数据

    res.render('视图的路径', { 返回的数据名称:返回的数据内容});

    代码预览

    创建index.js文件:

    var express = require('express');//引入express模块
    var app = express();//创建应用
    
    //定义public路径
    var pub = __dirname + '/public';
    app.use(express.static(pub));//设置静态目录为pubic
    app.set('views', __dirname + '/views');//设置views路径映射到views文件夹
    
    app.set('view engine', 'jade');//设置默认的模板引擎
    
    function User(name, email) {
      this.name = name;
      this.email = email;
    }
    
    var users = [
        new User('tj', 'tj@vision-media.ca'), 
        new User('ciaran', 'ciaranj@gmail.com'),
        new User('aaron', 'aaron.heckmann+github@gmail.com')
    ];
    
    app.get('/', function(req, res){
      res.render('users/test', { users: users });
    });
    
    app.use(function(err, req, res, next) {
      res.send(err.stack);
    });
    
    app.listen(3000);
    console.log('Express started on port 3000');

    这段代码首先创建了express的应用实例,然后设置相关的静态目录、视图目录、模板引擎等等。

    然后创建了几个user对象,返回给特定的视图。

    创建模板

    创建模板index.jade,注意创建的模版中,只能使用空格来进行格式化。不能同时使用制表符和空格。

    doctype html
    html
      head
      title Jade Example
      link(rel="stylesheet", href="/stylesheets/style.css")
    
      body
        h1 Users
        #users
        for user in users
          h2= user.name
          .email= user.email

    语法参考其他的Jade语法说明即可。

    添加样式文件

    在静态目录中,添加样式文件style.css:

    body {
      padding: 50px 80px;
      font: 14px "Helvetica Nueue", "Lucida Grande", Arial, sans-serif;
    }
    .email{
        color: blue;
    }

    文件目录

    根目录myqq
        ------node_modules
        |    -------express
        |    -------jade
        |
        ------public
        |    ------stylesheets
        |         -------style.css
        ------views
        |    ------test
        |          ------index.jade
        index.js

    执行node index既可运行样例。

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/xing901022/p/5074561.html
Copyright © 2011-2022 走看看