Node.js学习之路day1

作者: zkhChris | 来源:发表于2017-09-14 00:16 被阅读0次

前端菜鸡记录自己的node.js学习之路,与大家共勉

1.从HelloWorld写起

test.js
console.log('helloworld')

node test
输出helloworld

2.简单的模块使用

test1.js
function hello(){
  console.log('helloworld')
}
module.exports=hello
test2.js
let hello=require('./test1.js')
hello()

输出helloworld

3.判断浏览器或者node环境

if(typeof(window)!='undefined'){
  console.log('window')
}else{
  console.log('node')
}

4.常用模块之File System fs

fs:文件系统模块,负责读写文件

4.1.1异步读文件

let fs=require('fs')
fs.readFile('../test.txt','utf-8',function(err,data){
  if(err){
    console.log(err)
  }else{
    console.log(data)
  }
})

readFile()第一个参数是文件的路径,第二个参数是文件编码,第三个为回调函数,err为不空时说明出错,否则输出data。
异步证明

let fs=require('fs')
fs.readFile('../test.txt','utf-8',function(err,data){
  if(err){
    console.log(err)
  }else{
    console.log(data)
  }
})
console.log('async')//输出为'async' data

4.1.2 同步读文件

let data=fs.readFileSync('./test1.js','utf-8')
console.log(data)

在异步读写的后面加上Sync,读文件失败会直接报错,可使用try catch捕获错误。

let fs=require('fs')
try{
let data=fs.readFileSync('./test11.js','utf-8')
console.log(data)
}
catch(e){
  console.log(e)
}

同步读取的缺点在于,当文件过于大时,有可能io阻塞,等待期间无法响应其他请求。

4.2.1异步写文件

通过fs.writeFile()实现

let fs=require('fs')
let data='new write'
fs.writeFile('./test1.js',data,function(err){
  if(err){
    console.log(err)
  }else{
    console.log('success')
  }
})
console.log('async')
})
//输出 async  success

成功后会替换原文件文本,路径不存在时会新建文件

4.2.2 同步写文件

let fs=require('fs')
let data='new write'
fs.writeFileSync('./test1.js',data)

成功后会替换原文件文本,路径不存在时会新建文件

4.3 stat(),statSync()方法

该方法返回一个Stat对象,包含文件大小,创建时间等信息

let fs=require('fs')
let data='new write'
fs.stat('./test1.js',function(err,data){
  if(err){
    console.log(err)
  }else{
    console.log(data)
  }
})
image.png

stat里面就上面这些属性,有些不知道是什么相关的。。。

statSync同步方法,尽量用try..catch捕获错误

let fs=require('fs')
try{
  let info=fs.statSync('./test32.js')
  console.log(info)
}
catch(e){
  console.log(e)
}

4.4 fs小总结

node上大多数文件操作应该都是用的异步操作,读取关键配置或者特殊需要同步操作的情况再用同步文件操作吧,毕竟单线程,服务器失去响应就很尴尬了。

相关文章

  • Node.js学习之路day1

    前端菜鸡记录自己的node.js学习之路,与大家共勉 1.从HelloWorld写起 node test输出hel...

  • Node.js学习笔记Day1

    Day1 Node.js是什么 1.Node.js is a JavaScript runtime built o...

  • node.js学习日记day1

    nodejs-01 http模块 创建一个http服务器: url模块中的parse方法: 该方法可以把url中包...

  • 2019-04-11

    日期:2019.04.11 打卡用时:40分钟 打卡序号【第一阶段DAY1】 学习内容:我的史诗般的高考逆袭之路 ...

  • node.js学习之路一(基础)

    1.模块化的优点:低耦合 高内聚 方便维护 防止代码冲突(命名冲突)2.nodejs实现模块化是用闭包。3.CM...

  • node.js学习之路二(基础)

    关于http 3.在本地服务读写文件 也可以通过流的方式,(pipe)对象简写 查看请求路径 如下:如果访问的是'...

  • 看iOS的 Node.js 进阶之路 之 ECMAScript(

    看iOS的 Node.js 进阶之路 之 ECMAScript(ES6) 篇 @author Jou Email ...

  • Node.js学习之路day2

    1. node Buffer 处理tcp,文件等流的时候,必须要用到二进制数据,node的Buffer就是一个专门...

  • Node.js学习之路day3

    1.只会helloworld的服务器 http模块提供了request对象和response对象。request对...

  • 12_Node.js Web 开发

    下面开始用 Node.js 进行 Web 开发。 我是通过《Node.js开发指南》这本书来学习 Node.js ...

网友评论

    本文标题:Node.js学习之路day1

    本文链接:https://www.haomeiwen.com/subject/lixrsxtx.html