[Node.js]expressjs简单测试连接mysql
下载好node.js和通过npm安装好express.js后,先写package.json
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/nodemon/bin/nodemon.js app.js"
},
"dependencies": {
"express": "3.4.8",
"jade": "*",
"mysql":"*",
"underscore":"*"
},
"devDependencies":{
"nodemon":"*"
}
}
nodemon是当js文件修改后,重新启动node.js进程,方便测试;
npm install安装依赖
其中一个start命令是用于启动服务器时,直接使用npm start来执行此命令;
新建立两个文件夹,models和config
写一个config配置文件,去连接mysql的:
module.exports = {
mysql_dev: {
host: 'localhost',
user: 'dbu user',
password: 'your password',
database: 'your db name',
connectionLimit: 10,
supportBigNumbers: true
}
};
再写上一个database.js文件:
var mysql = require('mysql');
var config = require('../config/config');
var pool = mysql.createPool(config.mysql_dev);
exports.pool = pool;
在models里建立一个User.js文件作为model:
var db = require('./database');
var _ = require('underscore');
var User = function() {};
User.prototype.find = function(id, callback) {
var sql = "SELECT * FROM users WHERE id =?";
// get a connection from the pool
db.pool.getConnection(function(err, connection) {
if (err) {
callback(true);
return;
}
// make the query
connection.query(sql, [id], function(err, results) {
if (err) {
callback(true);
return;
}
callback(false, results);
});
});
};
module.exports = User;
最后在app.js里引入,再调用:
var User = require('./models/User');
//.......
app.get('/users/:userid',function(req,res){
var userid = req.params.userid;
var user = new User();
user.find(userid,function(err,result){
if(err){
res.send('not found');
}
res.send(result.length === 1 ? result[0]:result);
});
});
这样就简单地完成一个后端的node.js分级结构,前端提供rest请求。
[Node.js]expressjs简单测试连接mysql的更多相关文章
- Centos7 中 Node.js安装简单方法
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...
- 创建node.js一个简单的应用实例
在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...
- 使用 Node.js 实现简单的 Webhook
距离 Node.js 这个东西出来已经过了好久了,感觉现在的前端如果不会点 Node.js 就有点太落后于时代啦.我接触它是从去年暑假开始的,当时在写一个比较神奇的东西,就顺便接触了一下.虽然网传 n ...
- 用node.js实现简单的web服务器
node.js实现web服务器还是比较简单的,我了解node.js是从<node入门>开始的,如果你不了解node.js也可以看看! 我根据那书一步一步的练习完了,也的确大概了解了node ...
- node.js作为“简单HTTP服务器”
场景 当我学习一个JavaScript库的时候,需要一个非常简单的HTTP服务器把当前工作路径变为网站根目录,由此来访问网页的静态信息.现在,除了下边的脚本server.js,假设你已经拥有: 一个工 ...
- Nodejs入门-基于Node.js的简单应用
服务端JavaScript 众所周知的,JavaScript是运行在浏览器的脚本语言,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行.直至N ...
- 利用node.js来实现长连接/聊天(通讯实例)
首先: 需要在服务器端安装node.js,然后安装express,socket.io这两个模块,并配置好相关的环境变量等. 其次: 服务端代码如下: var app = require('expres ...
- vue之node.js的简单介绍
一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...
- vue学习【第三篇】:vue之node.js的简单介绍
什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...
随机推荐
- 已知要闪回的大致时间使用基于as of scn的闪回查询
基本判断出要恢复误操作的dml的时间可以使用如下的方法进行数据的恢复: example: 一.创建test表 -------create table flashback_asof------ crea ...
- weblogic启动时报错 java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域.这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入Perm ...
- I/O事件
I/O事件 最近在研究tornado和gevent,里面涉及了非阻塞I/O.在了解非阻塞I/O之前,需要先了解I/O事件 我们知道,内核有缓冲区.假设有两个进程A,B,进程B想读进程A写入的东西(即进 ...
- 寒冰王座(hd1248)
寒冰王座 Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店 ...
- SQL Server 索引整理与堆重组。
重新组织索引: alter index idx_OrderID on dbo.OrderDetail reorganize | reorganize;---可以rebuild 也可 ...
- 你应该知道的CSS文字大小单位PX、EM、PT[转]
摘要: 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章, 题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平 ...
- 走出MFC子类化的迷宫
走出MFC子类化的迷宫 KEY WORDS:子类化 SUBCLASSWINDOW MFC消息机制 许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习 ...
- poj1050(nyoj104 zoj1074)dp问题
To the Max Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 39913 Accepted: 21099 Desc ...
- Buns(dp+多重背包)
C. Buns time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
- iOS 各种传值方式
属性传值 将A页面所拥有的信息通过属性传递到B页面使用 B页面定义了一个naviTitle属性,在A页面中直接通过属性赋值将A页面中的值传到B页面. A页面DetailViewController.h ...