Node.js

目录

【Node.js概念】

【Node.js 用处】

【使用fs模块读写操作文件】

【使用path模块处理路径】

【使用http模块写一个基本的服务器】


浏览器中的JavaScript

核心语法

        变量、数据类型/循环、分支、判断/函数、作用域、this/etc...

WebAPI

        DOM操作/BOM操作/基于XMLHttpRequest的Ajax操作/etc...

浏览器的JavaScript运行环境

        v8引擎负责解析和执行JavaScript代码

        内置API是由运行环境提供特殊接口,只能在所属的运行环境中被调用

【Node.js简介】

       1· 浏览器是JavaScript的前端运行环境

       2· Node.js是JavaScript的后端运行环境

       Node.js中无法调用DOM和BOM浏览器内置API


Node.js 用处

        借助Node.js可做后端开发

掌握JavaScript的基础学法+Node.js内置模块(fs.path.http...)+第三方API模块

                        [node -v 查询Node.js的版本号]

                        [cls 清屏]


【使用fs模块读写操作文件

        fs.readFile()方法,用来读取指定文件中的内容

        fs.readFile(path,[options],callback)

                参数1:必选参数,字符串,表示文件的路径

                参数2:可选参数,表示以什么编码格式来读取文件

                参数3:必须参数,文件读取完成后,通过回调函数拿到读取结果

  

 判断是否读取成功

fs.readFile('./files/1.txt','utf-8',function(err,dataStr){
    if(err){
        return console.log('文件读取失败!'+err.message)
    }
    console.log('文件读取成功!内容是:'+dataStr)
})

         fs.writeFile()方法,用来读向指定文件中写入内容

  fs.writeFile(path,data,[options],callback)

        参数1:必选参数,需要指定一个文件路劲的字符串,表示文件的存放路径

        参数2:必选参数,表示要写入的内容

        参数3:可选参数,表示以什么格式写入文件内容,默认utf-8

        参数4:必选参数,文件写入完成后的回调函数

 判断是否写入成功

fs.readFile('./files/1.txt','utf-8',function(err){
    if(err){
        return console.log('文件写入失败!'+err.message)
    }
    console.log('文件写入成功!')
})

fs中路径出现问题

出现的问题: ./和../为开头的相对路径 ,容易出现路径动态拼接错误的问题

              解决问题的方法

                //提供完整的文件存放路径 /从盘符开始

                D:\\前端学习\\Node.js全套入门教程\\code\\1.js  缺点:移植性差,不利于维护

fs.readFile('D:\\前端学习\\Node.js全套入门教程\\code\\1.js','utf-8',function(err,dataStr){
    if(err){
        return console.log('文件读取失败!'+err.message)
    }
    console.log('文件读取成功!内容是:'+dataStr)
})

                //__dirname 表示当前文件所处的目路

                 __dirname+'/files/1.txt'  通过拼接路径


【使用path模块处理路径】

                path.join()方法,用来将多个路径片段拼接成一个完整的路径片段

const pathStr=path.join('/a','/b/c','../','./d','e')           //  ../会将上级的目录折叠起来

                                                                                //输出的目录则是\a\b\d\e

console.log(pathStr)

const pathStr=path.join(__dirname,'/files/1.txt')    

                path.basename()方法,用来从路径字符串中,将文件名解析出来

                 path.extname()方法,获取路径中的文件扩展名

path.extname(path)

 [/.../:正则表达式     \s:表示空白符    \S:表示非空白符     *:表示匹配任意次]

【使用http模块写一个基本的服务器】

概念:Node.js光放提供,用来创建web服务器模块,通过http.createServer()方法

IP地址:(a,b,c,d)的形式,都是0~255之间的十进制整数。

127.0.01

端口号:每个web服务器都对应唯一一个端口号;

创建web服务器基本步骤:

 1.导入http模块:

const http=require('http')

2.创建web服务器实例

const server=http.createServer()

3.为服务器实力绑定request事件,监听客户需求

server.on('request',function(req.res){

        console.log('Someone visit our web server.')

})

4.启动服务器

server.listen(80.function(){

        console.log('server running at http:/127.0.0.1:80')

})

ctrl+c停止服务器   80端口号可以省略

[req请求对象]

        包含了客户端相关地址数据和属性

        req.url是客户请求的url地址

        req.method是客户请求的method类型

[res响应对象]

        res.end()方法,向客户端响应一些内容

[解决中文乱码的问题]

        调用res.setHeader()方法,设置Content-Type响应头

[根据不同的url响应不同的html内容]

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值