• 5. Node基础编程


    • 基于Chrome V8引擎
    • 单线程
    • 使用JavaScript开发后端代码
    • 非阻塞的IO

    common规范

    common一定是通过module.exports={}输出

    创建Http Server

    node demo.js

    //文件demo.js
    let http=require('http');//调用http模块
    let url=require('url');//请求头
    let util=require('util');
    
    let server=http.createServer((req,res)=>{
        res.statusCode=200;//返回状态码
        res.setHeader("Content-Type","text/plain;charset=utf-8");//服务器响应头
    
        console.log(req.url);// /demo.html?a=123 不包含hash
    
        console.log(url.parse(req.url));//把url转换为对象
    
        console.log(util.inspect(url.parse(req.url)))//把对象转换为字符串
    
        res.end('hello,node.js');//响应结束输出
    })
    
    server.listen(8081,'127.0.0.1',()=>{
        console.log('服务器已运行')
    })

    加载静态页面
    http://localhost:8081/login.html node sever.js

    //文件sever.js
    let http=require('http');//调用http模块
    let url=require('url');//请求头
    let util=require('util');
    let fs=require('fs');//文件系统
    
    let server=http.createServer((req,res)=>{
        var pathname=url.parse(req.url).pathname;
        fs.readFile(pathname.substring(1),function(err,data){//读取文件,pathname.substring(1)去掉路径前的'/'
            if(err){
                res.writeHead(404,{
                    "Content-Type":"text/html"
                });
            }else{
                res.writeHead(200,{
                    "Content-Type":"text/html"
                });
                res.write(data.toString());
            }
            res.end();//响应结束,要放在读取文件的内部
        });    
    })
    
    server.listen(8081,'127.0.0.1',()=>{
        console.log('服务器已运行')
    })

    调用第三方接口

    let http = require('http'); //调用http模块
    let util=require('util');
    
    http.get('http://www.imooc.com/index/getstarlist', res => {
        let data = '';
    
        res.on('data', chunk => {//监听
            data += chunk;
        });
    
        res.on('end', () => {
            let result = JSON.parse(data);
            console.log(util.inspect(result));
        });
    })

    Express框架

    cnpm i -g express-generator 安装express generator
    express --version 检查版本
    express server 生成默认项目,在server文件夹内
    bin 可执行文件
    public 静态资源
    routes 路由
    views 视图
    app.js 入口

    node server/bin/www 访问

    用webStorm启动
    运行 -> 编辑结构 -> +(新添配置) -> js file:"serverinwww"

    pm2 插件启动

    $ npm install pm2 -g
    $ pm2 start app.js

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

  • 相关阅读:
    大道至简伪代码形式读后感
    大道至简读后感
    使用类型转换生成六位验证字符,实现用户输入验证码的功能
    flex弹性布局的基本介绍
    清除浮动的方法以及为什么清除浮动
    :target伪类制作tab选项卡
    div中的内容水平垂直居中
    setTimeout和setInterval的区别以及如何写出效率高的倒计时
    margintop影响父元素定位
    关于页面中弹窗的定位问题
  • 原文地址:https://www.cnblogs.com/conglvse/p/9521871.html
Copyright © 2020-2023  润新知