node

                                             初始node.js                                                                                                                                     Node.js是一个基于Chrome V8引擎的javaScript运行环境

Node.js的官网地址:https://nodejs.org/zh-cn/

终端中的快捷键

使用 tab键,可以能够快速补全路径

使用 esc 键,可以快速清空当前已输入的命令

使用 cls 键 ,可以清空终端

在使用node.js文件时,可以win+R 快速打开终端,运行文件

                               

                                          fs模块文件管理系统

异步读取方法readFile

readFile有三个参数,第一个参数是文件路径或者文件描述符,第二个参数是对象options,有encoding(编码,默认值为null)和flag(标识位,默认值为 r )。也可以直接传入encoding,通常为求简便,都是直接传入encoding,第三个参数为回调函数,函数有两个参数errdata

文件写入

异步写入方法writeFile

writeFile有三个参数,

第一个参数是文件路径或者文件描述符

第二个参数是写入的数据,类型可以是String或者Buffer

第三个参数是对象options,其中有 encoding(编码,默认值为utf8)、flag(标识位,默认值为w) 和 mode(权限位,默认值为0o666)。也可以直接传入enconding,为了方便,通常只传encoding即可。
 

代码表示

const { log } = require('console')
const fs = require('fs')
const path=require('path')
const pathstr=path.join(__dirname,'/1.txt')//路径拼接
fs.readFile(pathstr, 'utf8', function (err, dataStr) {
  //   console.log(err)
  if (err) {
    return console.log('文件读取失败:' + err.message)
  }
  console.log('文件读取成功,内容为:' + dataStr)
  //先把成绩的数据,按照空格进行分割
  const arr = dataStr.split(' ')
  console.log(arr);
  //循环分割后的数组,对每一项数据,进行字符串的替换操作
  const Arr = []
  arr.forEach(item => {
    Arr.push(item.replace('=', ': '))
  })
  console.log(Arr);
  //把新数组中的每一项进行合并,得到一个新的字符串
  const Arrstr = Arr.join('\t\n')
  console.log(Arrstr);
  fs.writeFile('C:/Users/Lenovo/Desktop/node/file/7.txt',Arrstr,'utf-8',function(err){
    if(err){
      return console.log(err.message);
    }
  })
})

解决中文乱码的问题

const http =require('http')
const server=http.createServer()
server.on('request',function(req,res){
    const str='你请求的 URL 地址 是 ${req.url},请求的 method 类型为 $(req.method)'
    res.setHeader('Content-Type','text/html;charset=utf-8')
    res.end(str)
})
server.listen(80,function(){
    console.log('server running at http://127.0.0.1')
})

使用这个,可以解决中文乱码的问题

 res.setHeader('Content-Type','text/html;charset=utf-8')

 匹配标签

使用如下代码可以将CSS html JS文件的内容分割开来

const fs = require('fs')
const path = require('path')

const style = /<style>[\s\S]*<\/style>/
const script=/<script>[\s\S]*<\/script>/

// 读取文件
fs.readFile(path.join(__dirname,'/index.html'), 'utf8' ,function(err,dataStr){
    if(err){
        console.log(err.message);
    }
    //读取文件成功后,调用对应的三个方法,分别分解出CSS JS HTML
    resolveCSS(dataStr)
           
})
function resolveCSS(htmlStr){
    const r1=style.exec(htmlStr)
    const newCSS=r1[0].replace('<style>',' ').replace('</style>',' ')
    fs.writeFile(path.join(__dirname,'/7.txt'),newCSS,function(err){
        if(err){
            console.log(err.message);
        }
    })
}

                  

                               path路径模块

用法1:path.basename(’/目录1/目录2/文件.html’);
返回字符串: ‘文件.html’

用法2:path.basename(’/目录1/目录2/文件.html’, ‘.html’);
返回字符串: ‘文件’

const { constants } = require('buffer');
const path=require('path')
//定义文件的存放路径
const fpath='l/1.txt'
//path.basdename的后面可以加要去除的东西
//const wpath=path.basename(fpath,'.txt')
const wpath=path.basename(fpath)
console.log(wpath);
//使用path.extname来获取文件的拓展名
const p=path.extname(fpath)
console.log(p);
// \s,表示空白字符 \S表示费空白字符 *表示匹配任意次

 

path.dirname(path)
用法:path.dirname(’/目录1/目录2/目录3/a.js’);
返回字符串:/目录1/目录2/目录3

 

path.join(path)
path.join() 方法会将所有给定的 path 片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径
用法1:path.join(’/目录1’, ‘目录2’, ‘目录3/目录4’, ‘目录5’, ‘…’);
返回: ‘/目录1/目录2/目录3/目录4’
用法2:path.join(’/目录1’, ‘目录2’, ‘目录3/目录4’, ‘目录5’);
返回: ‘/目录1/目录2/目录3/目录4/目录5’
用法2:path.join();
返回: . 号表示当前工作目录

                                     http模块 

通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供 Web 资源服务。在一台电脑中,可以运行很多歌 web 服务。每个 web 服务都对应一个唯一的端口号。客户端发送过来的网络请求,通过端口号,可以被准确地交给对应的 web 服务进行处理。

http.server是一个基于事件的HTTP服务器,它提供了一套封装级别很低的API,仅仅是流控制和简单的解析,所有的高层功能都需要通过它的接口。所有的请求都被封装到独立的事件当中,我们只需要对他的事件编写相应的行数就可以实现HTTP服务器的所有功能

用法:
直接引入  require('模块名');

http模块:创建服务器
http是内置的模块,用来在node中创建一个服务器。

语法:在引入进来时不需要加路径 ,require('http'); 

并创建一个服务:http.createServer(); 其参数是一个函数(请求监听函数)。每此请求,该函数就调用一次
 

//内置http模块
const http = require('http');
//创建一个服务器
http.createServer(function(request,response){
 
}).listen(8990,function(err){
   //该服务运行在哪个端口上,并捕获错误
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值