sequelize-auto从数据库表自动生成Sequelize模型(Model)

 2016年08月03日    420

某兄基于Sequelize实现ORM,其数据库中已有很多张表,如果手工建立模型(Model)会花费很多时间,因此需要一种比较便捷的建立模型的方式。笔者所参与的项目中,从项目初始阶段就使用Sequelize进行数据库表结构的维护,如果遇到表结构修改的情况会手调整模型结构,并手工编写SQL脚本修改表结构或使用sequelize.sync({force:true})来重建表。对于基于现有数据库表创建模型的情况,Sequelize官方提供了一个命令行(CLI)工具sequelize-auto,可以非常方便的从现有数据库表结构生成标准的Sequelize模型。

阅读全文

Node.js 基于流将日志、错误分别写入不同文件

 2016年07月31日    268

在一个用户进程中存在标准输入("stdin")、标准输出("tdout")、标准错误("stderr")三种流。Node.js中,对日志的操作是基于stdoutstderr两种流,如:console.log方法是向stdout写入数据,console.error是向stderr写入数据。通过stdoutstderr,或实现自定义Console对象,可以将普通日志及错误日志分别写入到不同的文件中。

阅读全文

Node.js Modules模块系统

 2016年07月27日    229

Node.js实现了一个简单的模块加载系统。在Node.js中,文件和模块是一一对应的关系,可以理解为一个文件就是一个模块。其模块系统的实现主要依赖于全局对象module,其中实现了exports(导出)、require()(加载)等机制。

阅读全文

Node.js 核心(原生)模块整理

 2016年07月26日    404

核心(原生)模块是指那些随Node.js安装而安装的模块,这些模块在Node.js源代码编译时被编译成二进制执行文件。相比文件模块,核心(原生)模块的加载速度更快。核心(原生)模块提供了JavaScript语言之外处理能力,如:网络处理相关模块httpnetdgram,文件及流处理fsstream,二进制处理模块buffer,系统与进程osprocess……

阅读全文

Node.js Buffer与JavaScript TypeArray类型数组的异同

 2016年07月25日    102

在ECMAScript 2015(ES6)推出TypeArray标准之前,JavaScript语言处理二进制数据非常困难,这在后端开发中使用很不方便。Node.js中的Buffer类就是为了解决二进制数据处理的问题,该类为Node.js带来了如TCP流操作和文件系统流操作的能力。ECMAScript 2015中TypeArray做为语言标准被引入,使JavaScript可以原生处理二进制数据。那么,在Node.js开发中我们是应该使用Buffer还是应该使用TypeArray呢?

阅读全文

Node.js 中有哪些类型的错误

 2016年07月17日    153

Node.js应用中可能会发生多种类型的错误。如:当出现语法错误运行时错误时,会触发JavaScript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误系统错误错误外,用户还可以自定义错误。理解Node.js中错误类型,可以帮我们更好的进行错误处理和异常捕获。

阅读全文

Node.js Sequelize 模型(表)之间的关联及关系模型的操作

 2016年07月07日    1119

Sequelize模型之间存在关联关系,这些关系代表了数据库中对应表之间的主/外键关系。基于模型关系可以实现关联表之间的连接查询、更新、删除等操作。本文将通过一个示例,介绍模型的定义,创建模型关联关系,模型与关联关系同步数据库,及关系模型的增、删、改、查操作。

阅读全文

简单的HTTP请求客户端 - Request

 2016年07月05日    563

Request是一个Node.jsNPM模块,它是一个HTTP客户端,使用简单功能确十分强大。我们可以用它来实现HTTP响应流的转接、模拟Form表单提交、支持HTTP认证、OAuth登录、自定义请求头等。本站曾简单介绍过Request模块的使用,本文是对这个模块的完整介绍,亦可做为Request中文文档使用。

阅读全文