Node.js-基础

  • node 属于服务器端的语言 服务端javascript V8引擎运行 性能很快

  • 直接运行js到服务器端

  • node 创建第一个服务器

  • http 模块 服务器http协议模块

  • url 模块 路径解析模块

let http=require("http"); //加载http模块
let url=require("url")  //加载url模块   使用parse 方法解析路径
创建服务器
req 服务端路径相关信息
res 浏览器的响应信息
let server=http.createServer((req,res)=>{
    设置http的响应头
     * 参数1:  服务器的响应状态  200成功   500  服务器报错
    res.writeHead(200,{"Content-Type":"text/html;charset=utf-8;"});

    在服务器  解析一个路径
    let location="http://www.maodou.com?name=张三&id=10086"
    通过parse 方法  解析路径 
    
     通过parse 方法直接将  query 上的传值 解析为json
     设置parse方法参数2true  自动将 query解析为json
    let pathName=url.parse(location,true);
     服务端写入数据
    res.write(JSON.stringify(pathName.query));
 	req.url  输出服务器端的路径
    这种解析就是前端的get传值
    let path=url.parse(req.url,true);
    下面代码可以直接解析出服务器路径上的传值
    res.write(JSON.stringify(path.query));
    res.end(()=>{
        console.log("服务器响应结束");
    });
}).listen(8000,'127.0.0.1',()=>{
    // loaclhost   127.0.0.1
    console.log("http://localhost:8000");
});

监听服务器端的端口号
将服务模块 暴露出去

exports.server=server;
module.exports=server;

createServer.js 暴露http回调函数:引用时输入回调函数

let http=require('http');
module.exports = (callback) => {
    http.createServer((req, res) => {
        callback(req, res); //引用时输入回调函数
    }).listen(8000,'127.0.0.1', () => {
        console.log("http://localhost:8000");
    });
};

引用时

//let server=require("./node_modules/createServer");//相对路径去找
let server = require("createServer"); //node 自动找node_modules 下的文件
server((req, res) => {
    res.writeHead(200, { "Content-Type": "text/html;charset=utf-8;" });
    res.write("我是服务器");
    res.end();
不适用相对路径去找  
let server=require("./node_modules/createServer");
let server = require("createServer"); //node  自动找node_modules 下的文件
server((req, res) => {
    res.writeHead(200, { "Content-Type": "text/html;charset=utf-8;" });
    res.write("我是服务器");
    res.end();
});


node_modules 文件存在文件夹  获取文件里面的文件
服务端会报错   找不到文件  
处理   去 对应的文件夹下  生成配置文件   直接获取文件名称
cnpm init --yes  强制生成  
let user = require("data");
console.log(user);
  • 文件读取

  • 模块是fs

  • 异步和同步读取

  • 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。

  • 建议大家使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞

  • 文件读取写到服务端上

let fs = require('fs');//加载文件系统模块
module.exports = {
    readfile() {
        //异步读取文件
        let url = "./page/stu.txt";
        fs.readFile(url, (error, data) => {
            if (error) {
                throw error
            }
            console.log(data.toString());
        });
    }
}

配置文件package.json文件

npm init /cnpm init
npm init –yes/cnpm init –yes (这种表示严格模式命名)

第三方包的安装

md5单向加密 cnpm install md5 -save-dev
js-base64 cnpm install -save-dev js-base64

let md5=require('md5'); 
let Base64=require('js-base64'); 
md5(str);
enstr=Base64.encode(str);
Base64.decode(enstr);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值