node.js

本文介绍了如何使用Node.js进行文件操作,包括读写文件的基本步骤,如`fs`模块的运用,并提到了npx的使用以及跨域限制在Node.js环境中的不同。此外,还讲解了动态路径拼接和path模块在解决路径问题中的作用。
摘要由CSDN通过智能技术生成

Node.js

官网

http://nodejs.cn/learn/how-much-javascript-do-you-need-to-know-to-use-nodejs

npx
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。

$ npm install -g npx

使用NPX可以首选本地环境,如果全局没有这个包,使用npm会报错。

执行

npx  http-server

会出现本地服务器

Available on:
  http://169.254.83.131:8080
  http://169.254.107.178:8080
  http://192.168.0.107:8080
  http://127.0.0.1:8080
Hit CTRL-C to stop the server

使用本地服务器访问不是本地服务的请求会报跨域的错。(安全沙箱)
但是在Node.js端访问,就不会有安全沙箱的限制。

node写文件操做在执行时,一定要进入文件夹内,否则会报错。报Error: Cannot find module 'D:\实验室\vs作品\learn\index.js'


D:\实验室\vs作品\learn>cd 02-fs

D:\实验室\vs作品\learn\02-fs>node index.js
文件创建成功

写入文件操作代码

const fs = require("fs")
fs.writeFile('./log.txt', 'hello', (err, data) => {
    if (err) {;
    } else {
        console.log("文件创建成功");
    }
})

第一个参数为要写的文件名及位置(相对位置)
第二个参数是要写的内容
第三个参数为回调函数
javascript通过node.js可以后端开发

在Node.js环境中执行JavaScript代码步骤

1.打开终端
2.进入存放javascript文件的路径 powershell
3.输入 node 要执行的js文件路径

上箭头可以切换命令
tab可以自动补全命令

esc可以快速清空当前已输入的命令
输入cls命令,可以清空终端

读取文件

//使用Node.js读取文件



//1.第一步引入fs模块
const fs = require('fs')

//2.调用fs.readFile()方法读取文件

//参数1.读取文件的路径
// 参数2.读取文件的编码格式  ,一般指定UTF-8
// 参数3.回调函数,拿取读取失败和成功的结果  err  dataStr
fs.readFile('./02-fs/log.txt', 'utf8', function(err, dataStr) {
    //打印失败结果
    //如果读取成功,err为null
    //如果读取失败,err为错误对象
    console.log(err);
    console.log("______________");
    //打印成功结果
    console.log(dataStr);
})

在这里插入图片描述
在这里插入图片描述

D:\实验室\vs作品\learn_node>node 11111.js
null
______________
hello

D:\实验室\vs作品\learn_node>node 11111.js
[Error: ENOENT: no such file or directory, open 'D:\实验室\vs作品\learn_node\02-fs\log1.txt'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'D:\\实验室\\vs作品\\learn_node\\02-fs\\log1.txt'
}
______________
undefined

写入文件

//引入fs模块
const fs = require('fs');


//调用fs,writeFile()方法,写入文件内容
// 参数1.表示文件将要存放的路径
// 参数2.表示要写入的内容
// 参数3.回调函数
fs.writeFile('./02-fs/2.txt', 'abc', function(err) {
    //写入成功 err为null
    console.log("写入成功" + err);

})

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件读写使用方法

在这里插入图片描述

//引入fs模块
const fs = require('fs')

//2.调用fs.readFile() ,读取文件的内容
fs.readFile('./成绩.txt', 'utf8', function(err, dataStr) {
    //3.判断文件是否读取成功
    if (err) {
        // err为null时,相当于为假
        return console.log("文件读取失败!" + err.message);
    }
    console.log('文件读取成功' + dataStr);


    //读取成功后对数据进行操作


    // 1.先把数据按空格进行分隔
    const arrold = dataStr.split(' ')
    console.log(arrold);
    //循环分隔后的数组,对每一项数据,进行字符串替换操作
    const arrNew = [];
    arrold.forEach(item => {
        arrNew.push(item.replace('=', ':'))
    })
    console.log(arrNew);
    //把新数组中的每一项,进行合并操作,得到一个新的字符串
    const NewStr = arrNew.join('\r\n')
    console.log(NewStr);

    //5.调用fs.writeFile()方法,把处理好的数据写入文件中
    fs.writeFile('./成绩-ok.txt', NewStr, function(err) {
        if (err) {
            return console.log("成绩写入失败");
        }
        console.log("成绩写入成功");

    })

})

动态路径拼接问题

用__dirname代替…/
在这里插入图片描述


const fs = require('fs');
fs.readFile(__dirname + '/02-fs/2.txt', 'utf-8', function(err, dataStr) {
    if (err) {
        console.log("读取失败" + err);
    }
    console.log(dataStr + "读取成功");
})

path路径模块

在这里插入图片描述

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

//利用path.join()方法进行路径拼接,不在使用+号进行拼接
//path.join()进行拼接,多一个点或者/都无所谓,但../会消去上一级目录
fs.readFile(path.join(__dirname, '/02-fs/2.txt'), 'utf-8', function(err, dataStr) {
    if (err) {
        console.log("读取失败" + err);
    }
    console.log(dataStr + "读取成功");
})

path.join()进行拼接,多一个点或者/都无所谓,但…/会消去上一级目录

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值