NODE September 30, 2019

深入理解Node.js中的进程与线程

Words count 13k Reading time 12 mins.

原文地址

进程线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。本篇文章除了介绍概念,通过Node.js 的角度讲...

Read article

NODE May 25, 2019

Node学习(十四) --Node项目-商品列表

Words count 19k Reading time 18 mins.

利用学到的知识,实现一个简单但实用的小项目如下:

这是一个商品列表,具有展示商品信息,添加商品,删除商品的功能。

├── package.json
├── server.js # 服务器代码
├── config # 项目配置文件夹
│ ├── config.dev.js # 开发环境配置
│ ├── config.prod.js # 生产环境配置
│ ├── index.js # 导出当前所处环境及配置
├── libs # 项目工具文件夹
│ ├── database.js # 连接数据库
│ ├── http...

Read article

NODE May 06, 2019

Node学习(十三) --Stream流

Words count 6.1k Reading time 6 mins.

我们通常会使用File System模块对文件进行读取,如下:

fs.readFile('./test.txt', (error, buffer) => {
  if (error) {
    console.error(error)
  } else {
    // 读取文件成功
    res.write(buffer)
  }
})

这样操作简单有效,但这也存在一些问题:

1.占用内存
使用fs读取文件,它是一次性将文件的所有内容读取到内存...

Read article

NODE April 29, 2019

Node学习(十二) --使用async/await异步操作数据库

Words count 5.9k Reading time 5 mins.

上一篇使用Node.js操作数据库,虽然能实现功能,但是异步操作需要不断写回调函数,代码严重冗余,而且阅读困难。

可以使用co-mysql,将query方法该写为返回一个Promise,就可以使用async/await进行异步处理。

我们可以参考一下它的源码,看看它是如何实现将回调函数转换为

module.exports = wrapper;

var slice = [].slice;

// 该模块导出为一个包装函数,运行它的返回值是一个带有query方法的对象。
function wrapper...
Read article

NODE April 21, 2019

Node学习(十一) --使用Nodejs操作数据库

Words count 6.5k Reading time 6 mins.

Nodejs操作数据库需要用到mysql模块,通过npm i mysql -D进行安装。

之后可以通过mysql.createConnection方法新建一个数据库连接,需要传入的参数有地址、端口、登录名、密码,以及需要连接的数据库。

mysql.createConnection会返回一个connection对象,可使用connection.query方法,传入SQL语句,对数据库进行相应操作。

const mysql = require('mysql')

// 1. 连接服务器...
Read article
Load more
0%