Skip to content

Node.js

Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时。

异步编程

Callback

javascript
const fs = require('fs')

fs.readFile('file.txt', 'utf8', (err, data) => {
  if (err) {
    console.error(err)
    return
  }
  console.log(data)
})

Promise

javascript
const fs = require('fs').promises

fs.readFile('file.txt', 'utf8')
  .then(data => console.log(data))
  .catch(err => console.error(err))

async/await

javascript
async function readFile() {
  try {
    const data = await fs.readFile('file.txt', 'utf8')
    console.log(data)
  } catch (err) {
    console.error(err)
  }
}

模块系统

CommonJS

javascript
// module.js
module.exports = {
  add: (a, b) => a + b
}

// index.js
const { add } = require('./module')

ES Modules

javascript
// module.js
export function add(a, b) {
  return a + b
}

// index.js
import { add } from './module.js'

事件循环

Node.js 使用事件循环处理异步操作:

javascript
console.log('1')

setTimeout(() => console.log('2'), 0)

Promise.resolve().then(() => console.log('3'))

console.log('4')
// 输出: 1, 4, 3, 2