nodeStudy Day01

node Study

  • __dirname 当前js文件所在绝对路径

  • path模块

    const path = require('path');  // 导入path模块
    
    let url = path.join(__dirname, 'a','b'); // 拼接字符串
    console.log(url) // E:\NodeDay01\a\b
    

http 开启服务器

art-template 是一个简约、超快的模板引擎

  • // 1. 引入模块
    var fs = require('fs')
    var template =require('art-template')
    const http = require('http')
    // 创建服务器对象
    var server = http.createServer();
    
    // 开启服务,并设置监听端口
    server.listen(3000,()=>{
    	console.log('the server is running at http://127.0.0.1:3000');
    })
    
    // 请求事件
    server.on('request',(req,res)=>{
    	// 获取url
    	var url = req.url;
    	 if(url=='/'){
        //4.1 读取数据
        fs.readFile(__dirname+"/views/index.html",'utf-8',(err,data)=>{
          if(err) return console.log(err.message);
    
          var render = template.compile(data);
          // var str = render({});
          var str = render({
            name:'tom',
            age:20,
            hobby:['抽烟','喝酒','烫头']
          });
    
          res.end(str);
        })
      }else {
        res.end('404')
      }
    })
    

    template.render(source,data)

    var str = template.render(data,obj);
    

    template(filename,data)

    var obj = {
          name: 'tom',
          age: 20,
          hobby: ['抽烟', '喝酒', '烫头','撩妹']
        }
    var str = template(__dirname+'/views/index.html',obj)
    

    Express 模块

    1. 安装

      1. npm i express
    2. 使用

      var express = require('express');
      var ejs = require('ejs');
      
      // 创建服务器对象
      var app = express();
      
      // 启动服务,监听端口
      app.listen(3000,()=>{
        console.log('express server is running at http://127.0.0.1:3000');
      })
      
      // 4. 注册中间件
      // 设置一个指定的模板引擎ejs,其中第一个参数的值是固定写法.
      app.set('view engine','ejs');
      // 第二个app.set是指定要渲染的页面的来源,第一个参数也是一个固定的写法,表示是要渲染的是静态页面
      app.set('views','./views')
      
      // get 请求
      app.get('/', (req, res) => {
        // res.send('这是主页面的内容...')
        res.render('index',{name:'tom',age:20,gender:'男',hobby:['吃饭','睡觉','打豆豆']})
      }
      
      // post请求
      app.post('/',(req, res) => {
        res.send('这是一个post请求啊...')
      })
      

express.Router创建路由

app.route()

app.route('/book')
  .get((req,res)=>{
    res.send('Get a random book');
  })
  .post((req,res)=>{
    res.send('Add a book');
  })
  .put((req,res)=>{
    res.send('Updata the book')
  })
上一篇:为什么需要bodyParser这个中间件?


下一篇:如何使用 express 配合代理转发请求