dos常见操作及nodejs:

DOS:

我们使用计算机接触最频繁的就是DOS。DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,说得简单些,DOS就是人给机器下达命令的集合,是存储在操作系统中的命令集,有了DOS,我们就可以更容易理解怎么给机器下命令,不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥2进制数字的机器命令,只需通过一些接近于英语的DOS命令,我们就可以轻松地完成绝大多数的日常操作。另外,DOS还能有效地管理在它控制下的各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下,有条不紊地进行着运转。

如何打开dos

  • 徽标+R :cmd

  • 在文件夹路径直接打开

  • 在vscode打开

常见操作

  • Ipconfig: 查看本地网络配置

  • 改变目录路径:changeDirectory => cd(只能在当前盘下面跳转)

  • 跳转到其它盘: 盘名: 回车即可 从C盘到D盘: D:

  • tab 键自动补全

  • 使用上下箭头调出历史指令

  • 清屏:clearscreen => cls

1.Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

node 是一个运行在v8引擎之上的 JavaScript 运行时的环境 

node.js不是一个js的框架 也不是一个js库 

node.js是一个专门来跑js代码的环境

主要用nodejs来写服务器(本阶段),创建webpack包

特点:1.模块化开发

系统模块:fs:文件系统

                  path

                  http:写服务器

自定义模块:

第三方模块:别人写好的,直接拿过来用

npm:node  pack  manager , node包管理器

npm init 初始化项目=> 创建package.json文件

npm install md5

注意:(1)intall可以简写为i

(2)可以指定下载某个版本:npm i 模块名字@版本号   如:npm install md5@2.0.0,如何没有指定版本号,默认下载最新版本

 npm uninstall mime:删除模块

             npm install md5  -S|-D 默认就是-S,-S:当前模块在开发和生产环境都需要用

                                               -D:只是在开发环境下有效,生产环境下无效,也就是在生产环境下不需要

            npm i: 安装依赖文件(package.json)

            2.非阻塞I/O操作模型:底层c/c++是多线程

             3.上层js业务代码是单线程

引入模块  commonJS模块为nodejs而生

const fs = require("fs");

文件读取

 fs.readFile("./fs.txt","utf-8", (err,data)=>{
    if (err) throw err;
    console.log(data);
})

文件的写入

 fs.writeFile('./fs.txt', "文件写入",{
    flag: 'a'
}, (err)=>{
    console.log(err);
}) 

创建目录

/* fs.mkdir('images',(err,path)=>{
    console.log(err,path);
});
fs.mkdir('images/20230508',(err,path)=>{
    console.log(err,path);
}); */
 new Promise((resolve,reject)=>{
    fs.mkdir('images',(err,path)=>{
        // console.log(err,path);
        if(!err) resolve("images创建成功");
    });
}).then(r=>{
    fs.mkdir('images/20230508',(err,path)=>{
        console.log(err,path);
    });
}) 

创建多级目录

fs.mkdir('images/20230508',{
    recursive:true
},(err,path)=>{
    console.log(err,path);
});

文件的复制

 fs.copyFileSync('fs.txt','./images/20230508/newfs.txt');

根据当前日期创建文件夹 

let d = new Date();
fs.mkdir(`images/${d.getFullYear().toString()+(d.getMonth()+1).toString().padStart(2,0)+d.getDate().toString().padStart(2,0)}`,{
    recursive:true
},(err,path)=>{
    console.log(err,path);
});

创建服务器:

// 创建服务器
const server = http.createServer();

// 监听request请求,只要客户端发起请求就会执行
 server.on('request', (request, response) => {
  console.log("只要客户端发起请求就会执行");
  // 设置响应头里面的 Content-Type
  response.writeHead(200, { 'Content-Type': 'application/json' });
  // 响应结束 
  response.end(JSON.stringify({
    data: 'Hello World!',
  }));
}); 

1.创建服务器  

2.实现客户端浏览器访问不同文件返回不同内容

const http = require('node:http');
const fs   = require('node:fs');
const mime = require('mime');

const server = http.createServer();

server.on('request', (request, res) => {
    // 怎么知道客户端请求的是谁?
    console.log(request.url);//客户端浏览器请求的url地址,就是端口号后面的部分
    let path = request.url;
    if(request.url == '/'){
        path = '/index.html';//默认显示index.html页面
    }
    // console.log(mime.getType(path));
    res.writeHead(200, { 'Content-Type':  mime.getType(path)});//设置响应给客户端浏览器的内容类型
    fs.readFile(`./public${path}`,(err,data)=>{
        if(!err){//读取成功
            res.end(data);
        }else{//读取失败,也就是没有找到客户端需要的文件则返回404 not found 
            res.end("404 not found");
        }
    });
});

server.listen(8000); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值