zoukankan      html  css  js  c++  java
  • 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;">

  • 相关阅读:
    Centos 下安装php
    php 基础 PHP保留两位小数的几种方法
    php基础 php 全局变量
    php 基础 语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
    php 基础 获取远程连接
    php 基础 php获取前一天,前一个月,前一年的时间
    redis 基础 Redis 数据类型
    [Poj2349]Arctic Network(二分,最小生成树)
    [USACO07DEC]Sightseeing Cows(负环,0/1分数规划)
    [Tyvj2032]升降梯上(最短路)
  • 原文地址:https://www.cnblogs.com/conglvse/p/9521871.html
Copyright © 2011-2022 走看看