12.20

## 思考问题

1.js可以在浏览器执行:浏览器中有js解析引擎

2.js可以操作DOM BOM:浏览器内置了DOM BOM的API函数 js可以调用它们

3.js运行环境:js解析引擎 内置API

4.js在浏览器环境运行可以前端开发  在node.js运行环境中可以做后端开发

## 什么是node.js

1.node.js是基于Chrome V8引擎的js运行环境

2.node.js运行环境:V8引擎 内置API

## 执行

1.执行js文件

node xx.js

读取

const fs = require('fs')
fs.readFile('../1.js', (err, data) => {
    if (err) {
        throw 'err'
    }
    console.log(data.toString())
})

写入

const fs = require('fs')
fs.writeFile('../1.js', '学习node.js', (err) => {
    if (err) {
      throw 'err'
    }
    console.log('写入成功')
    
})

 成绩整理

const fs = require('fs')
fs.readFile('./成绩.txt','utf8', (err, data) => {
    if (err) {
        throw 'err'
    }
    const arr1 = data.split(' ')
    const arr2 = []
    arr1.forEach(item => {
        arr2.push(item.replace('=',':'))
    });
    const arr3 = arr2.join('\r\n')

fs.writeFile('../1.js', arr3, (err) => {
    if (err) {
        throw 'err'
    }
    console.log('写入成功')
})
    
})

路径动态拼接的问题


在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ 或 ../ 开头的相对路径时,很容易出现路径动态拼接错误的问题。
解决方案:在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 …/ 开头的相对路径,从而防止路径动态拼接的问题。

path路径模块


path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理
需求。

引入
const path = require('path')

路径拼接
path.join([...paths])
…paths 路径片段的序列

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

const pathStr = path.join('/a', '/b/c', '../', '/d', 'e', 'f')
console.log(pathStr); //\a\b\d\e\f

fs.readFile(path.join(__dirname, '/files/2.txt'), 'utf-8', function (err, success) {
  if (err) {
    return console.log('读取文件失败', err.message);
  }
  console.log('读取文件成功', success);
})

 获取路径中的文件扩展名

const path = require('path')

const fPath = '/a/b/c/index.txt'

const pathExtName = path.extname(fPath)
console.log(pathExtName); //.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值