下载好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的更多相关文章

  1. Centos7 中 Node.js安装简单方法

    最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...

  2. 创建node.js一个简单的应用实例

    在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...

  3. 使用 Node.js 实现简单的 Webhook

    距离 Node.js 这个东西出来已经过了好久了,感觉现在的前端如果不会点 Node.js 就有点太落后于时代啦.我接触它是从去年暑假开始的,当时在写一个比较神奇的东西,就顺便接触了一下.虽然网传 n ...

  4. 用node.js实现简单的web服务器

    node.js实现web服务器还是比较简单的,我了解node.js是从<node入门>开始的,如果你不了解node.js也可以看看! 我根据那书一步一步的练习完了,也的确大概了解了node ...

  5. node.js作为“简单HTTP服务器”

    场景 当我学习一个JavaScript库的时候,需要一个非常简单的HTTP服务器把当前工作路径变为网站根目录,由此来访问网页的静态信息.现在,除了下边的脚本server.js,假设你已经拥有: 一个工 ...

  6. Nodejs入门-基于Node.js的简单应用

    服务端JavaScript 众所周知的,JavaScript是运行在浏览器的脚本语言,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行.直至N ...

  7. 利用node.js来实现长连接/聊天(通讯实例)

    首先: 需要在服务器端安装node.js,然后安装express,socket.io这两个模块,并配置好相关的环境变量等. 其次: 服务端代码如下: var app = require('expres ...

  8. vue之node.js的简单介绍

    一.什么是node.js? 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 二.安装 1.node.js的特性: - 非阻塞IO模型 - ...

  9. vue学习【第三篇】:vue之node.js的简单介绍

    什么是node.js 它是可以运行JavaScript的服务平台,可以吧它当做一门后端程序,只是它的开发语言是JavaScript 安装node.js node.js的特性 - 非阻塞IO模型 - 时 ...

随机推荐

  1. [转]C++实现系统服务暂停、停止、启动

    /* 名称:系统服务管理 语言:C++ 介绍:对Windows系统服务的状态获取,服务暂停,开启,停止操作代码 */ void CStartServiceDlg::OnBnClickedButton1 ...

  2. eclipse +cvs 的基本使用方法(一)

    很多时候我们在做项目开发时,会用到cvs,现在我给大家介绍一下关于eclipse下怎么使用cvs管理功能,eclipse本身是自带cvs的,我们只要简单设置一下让它连接到cvs服务器上.    看下图 ...

  3. Git 添加空文件夹的方法

    转自stackoverflow: http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git- ...

  4. linux操作系统下的码农常用工具

    IDE: Pycharm PHPStorm Zend Studio 文本编辑器: VIM Sublime Text 版本管理: svn RapidSVN git git ui 文件对比: Meld D ...

  5. [汇编语言]-第二章寄存器(CPU工作原理)

    1- 对于汇编程序员来说,CPU中主要的部件是寄存器,这些寄存器是:AX BX CX DX SI DI SP BP IP CS SS DS ES PSW. 2- 8086CPU所有寄存器都是16位的, ...

  6. MYSQL select ....outfile.....from.....

    select .... outfile  'file_path' fields terminate by '\t' lines terminate by '\r\n' from table_name; ...

  7. 学习笔记之--java EE 环境的搭建

    一.前期准备.(apache-maven-3.0.5.apache-tomcat-7.0.23-windows-x86.eclipse-jee-kepler-SR1-win32.jdk-7u45-wi ...

  8. hdu1258Sum It Up (DFS)

    Description Given a specified total t and a list of n integers, find all distinct sums using numbers ...

  9. error LNK1104: 无法打开文件“libboost_thread-vc140-mt-gd-1_61.lib”

    error LNK1104: 无法打开文件“libboost_thread-vc140-mt-gd-1_61.lib” 调试->你的项目属性 配置属性->VC++目录 包含目录 D:\bo ...

  10. Search gold(dp)

    Search gold Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Subm ...