node.js 常用

1 . 常用的终端命令/快捷键 ( 1 )

        1.1 cls / clear : 清屏

        1.2 dir / ls : 显示当前文件夹下的内容

        1.3 cd \ : 进入到当前根目录

        1.4 cd .. : 进入到上一级目录

        1.5 cd 目录名 : 进入到指定目录

        1.6 tab : 自动补全

        1.7 上下键↑↓ : 调出历史命令

        1.8 ctrl + C :停止node程序

        1.9 鼠标右键 : 复制/粘贴

2 . 常用的快捷键

        2.1 ctrl + C / ctrl + V : 复制 / 粘贴

        2.2 ctrl + shift + N : 新建文件夹

        2.3 ctrl + A : 全选

        2.4 window + R : 调出终端

        2.5 ctrl + X : 剪切

        2.6 F5 : 刷新

3 . 常用的vscode快捷键

        3.1 ctrl + B : 隐藏显示侧边栏

        3.2 ctrl + P : 转到文件

        3.3 alt + B : 在浏览器中打开

        3.4 ctrl + shift + P : 打开命令面板

        3.5 F2 : 重命名

        3.6 F5 : 开始调试

        3.7 ctrl + F : 查找

        3.8 ctrl + S : 保存

        3.9 ctrl + / : 注释

        3.10 alt + Z : 一行内容多行显示

4 . 字符串操作的API

        4.1 str.split() : 把字符串拆成数组

        4.2 str.replace() : 把字符串做替换

        4.3 str.startWith()/endWith : 判断是否以xxx开头/结尾

        4.4 str.trim() : 去掉字符串左右两端空格

        4.5 str.substr(x,y) : 截取字符串(从x截,截到y)

        4.6 str.length() : 获取 字符串长度

        4.7 str.toUpperCase()/toLowerCase() : 大小写的转换

        4.8 str.indexOf() : 查找指定的字符串是否存在

5 . 案例

// 读取md文件 , 转成数组,判断加标签,最后写入html文件
// 先引入 fs path 模块
const fs = require('fs')
const path = require('path')

// 分析
// 1. 读入文件  fs.readFile()
// fs.readFile('地址','utf8','回调函数')
fs.readFile(path.join(__dirname, 'case.md'), 'utf8', (err, data) => {
  // 2. 转换
  if (err) {
    console.log('错误提示', err);
    return
  }
  // data是文件内容,是字符串 把字符串用 \n 分割成数组
  const arr = data.split('\n')
  // console.log(arr); // 数组形式
  // console.log(arr.length); //数组长度
  let bigStr = ''
  arr.forEach(item => {
    // item是数组每一个数据
    // 判断是以 '#' 开头,就把他后面的内容放到<h1>中
    if (item.startsWith('# ')) {
      // console.log('每一行', item); //# Markdown 文件的一级标题
      const newStr = '<h1>' + item.replace('# ', '') + '</h1>'
      // console.log('h1', newStr); //Markdown 文件的二级标题
      bigStr += newStr
    } else if (item.startsWith('## ')) {
      const newStr = '<h2>' + item.replace('## ', '') + '</h2>'
      console.log(newStr) //</h2>arkdown 文件的二级标题
      bigStr += newStr
    } else if (item.startsWith('### ')) {
      const newStr = '<h3>' + item.replace('### ', '') + '</h3>'
      // console.log('h3', newStr)
      bigStr += newStr
    } else {
      const newStr = '<p>' + item + '</p>'
      // console.log('p', newStr)
      bigStr += newStr
    }
  })
  // 循环结束
  // console.log('================================');
  // console.log(bigStr);


  // 3. 写入 fs.writeFile()
  fs.writeFile(path.join(__dirname, 'case.html'), bigStr, 'utf8', (err) => {
    console.log('错误提示', err);
  })
})





6 . 作业

    6.1

01-data.json中原有 [{"name":"小王"},{"name":"小李"}]
node myfile.js 之后 在01-data.json中追加一条数据记录

// 先导入模块
const fs = require('fs')
const path = require('path')

// 分析 先读入文件
let p = path.join(__dirname, '01-data.json')
// console.log(p);
fs.readFile(p, 'utf8', (err, data) => {
  if (err) {
    console.log(err);
    // console.log(data);
    return
  } else {
    console.log('成功');
  }
  let arr = JSON.parse(data)
  console.log(arr)
  let obj = { name: '小张', 'name': '神荼' }
  arr.push(obj)
  // console.log(arr);
  let str = JSON.stringify(arr)
  console.log('123', str);

  // 写入
  fs.writeFile(p, str, 'utf8', (err) => {
    if (err) {
      console.log('错误输出');
    }
  })
})

    6.2

// 先导入模块
const fs = require('fs')
// 再读入
fs.readFile('02-a.txt', 'utf8', function (err, data) {
  // 判断错误
  if (err) {
    console.log(err)
    return
  }
  // 声明
  let arr = data.split('\n')
  let newArr = []
  let sum = 0
  let num = 0

  arr.forEach(item => {

    let obj = {}
    // 拆分
    obj.name = item.split(',')[0]
    obj.age = +item.split(',')[1]
    // 追加
    newArr.push(obj)

    // 求和
    sum += obj.age
    num++

  })
  let json = {
    list: newArr,
    average: sum / num,
    total: num
  }
  console.log(json)
  fs.writeFile('b.json', JSON.stringify(json), function () {

  })
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值