zoukankan      html  css  js  c++  java
  • 初始化一个Express项目

    首先新建一个目录mkdir myblog,在该目录下运行npm init 生成package.json

    然后安装express,加--save写入package.json

    npm i express@4.14.0 --save

    新建index.js并写入:
    var express = require('express');
    var app = express();
    
    app.get('/', function(req, res) {
      res.send('hello, express');
    });
    
    app.listen(3000);


    //req.query: 解析后的 url 中的 querystring,如 ?name=haha,req.query 的值为 {name: 'haha'}

    //req.params: 解析 url 中的占位符,如 /:name,访问 /haha,req.params 的值为 {name: 'haha'}

    //req.body: 解析后请求体,需使用相关的模块,如 body-parser,请求体为 {"name": "haha"},则 req.body 为 {name: 'haha'}

      文件结构如下:



    然后全局安装supervisor并启动:

    npm install -g supervisor



    supervisor --harmony index

    supervisor 会监听当前目录下 node 和 js 后缀的文件,当这些文件发生改动时,supervisor 会自动重启程序

    安装一个模版引擎ejs:
    npm i ejs --save

    此时各文件代码如下:
    index.js:
    var path = require('path');
    var express = require('express');
    var app = express();
    var indexRouter = require('./routes/index');
    var userRouter = require('./routes/users');
    
    app.set('views', path.join(__dirname, 'views'));// 设置存放模板文件的目录
    app.set('view engine', 'ejs');// 设置模板引擎为 ejs
    
    app.use('/', indexRouter);
    app.use('/users', userRouter);
    
    app.listen(3000);
    

      routes/index.js:

    var express = require('express');
    var router = express.Router();
    
    router.get('/', function(req, res) {
      res.send('hello, express');
    });
    
    module.exports = router;
    

      routes/users.js:

    var express = require('express');
    var router = express.Router();
    
    router.get('/:name', function(req, res) {
      res.render('users', {
        name: req.params.name
      });
    });
    
    module.exports = router;
    

      views/header.ejs

    <!DOCTYPE html>
    <html>
      <head>
        <style type="text/css">
          body {padding: 50px;font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;}
        </style>
      </head>
      <body>
    

      views/footer.ejs

      </body>
    </html>
    

      views/users.ejs:

    <%- include('header') %>
      <h1><%= name.toUpperCase() %></h1>
      <p>hello, <%= name %></p>
    <%- include('footer') %>
    

     

    运行: 

    访问localhost:3000/users/richard:

    https://maninboat.gitbooks.io/n-blog/content/book/3.3%20%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.html



     
  • 相关阅读:
    centos7下编译安装python3.7,且与python2.7.5共存
    Linux下的ctrl常用组合键
    命令 docker rm | docker rmi | docker prune 的差异
    docker操作命令大全和后台参数
    解决Linux下ssh登录后出现 报错 Write failed: Broken pipe 的方法
    在centos7 中docker info报错docker bridge-nf-call-iptables is disabled 的解决方法
    Linux下实现不活动用户登录超时后自动登出
    centos下非yum方式安装docker环境
    Git Error:There is no tracking information for the current branch.
    Vim操作:打开文件
  • 原文地址:https://www.cnblogs.com/rlann/p/6486680.html
Copyright © 2011-2022 走看看