初始化一個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



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM