因为之前是做.net后台,后来转做前端了,又不想放弃自己后端的一些技能,尤其是api都是调用其他同事的api,于是就想自己写api自己调用。把node服务装好后就可以开始下一步了
1.第一步先搭建一个express项目吧。中文网站 http://www.expressjs.com.cn/starter/installing.html
express myappapi //自己随便命名吧
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
create : myapidemo\
create : myapidemo\public\
create : myapidemo\public\javascripts\
create : myapidemo\public\images\
create : myapidemo\public\stylesheets\
create : myapidemo\public\stylesheets\style.css
create : myapidemo\routes\
create : myapidemo\routes\index.js
create : myapidemo\routes\users.js
create : myapidemo\views\
create : myapidemo\views\error.jade
create : myapidemo\views\index.jade
create : myapidemo\views\layout.jade
create : myapidemo\app.js
create : myapidemo\package.json
create : myapidemo\bin\
create : myapidemo\bin\www
目录结构
image.png
2.进入这个目录,在文件路径上cmd,安装依赖
地址栏
输入cmd
F:\dingyuan>cd myapidemo
F:\dingyuan\myapidemo>
√ All packages installed (102 packages installed from npm registry, used 2s(network 2s), speed 296.22kB/s, json 90(715.97kB), tarball 0B)
F:\dingyuan\myapidemo>
3.用编辑器打开项目
项目目录
4.重点来了,配置数据库了,因为我做.net出身的,所以会一些sqlserver,百度了一些连接数据库的方案
还是npm npm npmcnpm install mssql
√ Installed 1 packages
√ Linked 21 latest versions
√ Run 0 scripts
√ All packages installed (19 packages installed from npm registry, used 2s(network 2s), speed 128.9kB/s, json 22(296.07kB), tarball 0B)
F:\dingyuan\myappapi>npm start
5.创建db.js
var mssql = require('mssql');
var db = {};
var config = {
user: 'sa',
password: '123456',
server: 'xxxxx',
database: '数据库名',
port:1433,
options: {
encrypt: true // Use this if you're on Windows Azure
},
pool: {
min: 0,
max: 10,
idleTimeoutMillis: 3000
}
};
//执行sql,返回数据.
db.sql = function (sql, callBack) {
console.log("sql", sql)
var connection = new mssql.ConnectionPool(config, function (err) {
if (err) {
console.log(err);
return;
}
var ps = new mssql.PreparedStatement(connection);
ps.prepare(sql, function (err) {
if (err){
console.log(err);
return;
}
ps.execute('', function (err, result) {
if (err){
console.log(err);
return;
}
ps.unprepare(function (err) {
if (err){
console.log(err);
callback(err,null);
return;
}
callBack(err, result);
});
});
});
});
};
module.exports = db;
6.就使用express创建好的
user.js
var express = require('express');
var router = express.Router();
var db = require('./db');shu
/* GET user listing. */
router.get('/', function(req, res, next) {
db.sql('select * from A_AdminUser', function(err, result) {
if(err) {
console.log("sql错误", err);
return;
}
res.send(result);
});
});
module.exports = router;
浏览器地址里直接local:3000里面去/user
看看数据是不是出来了,so easy.花了两天时间百度和同事都询问才弄个出来。
网友评论