用nodejs写一个简单的接口
一、创建nodejs首先执行下边的命令,会得到一个类似vue-cli的node架包,以此为基础进行开发npm install express-generator -gexpress projectnamecd projectnamenpm install然后进行数据库的搭建,我用的是 phpstudy 内置的数据库,创建名为blogdata的库名,然后启动数据库在config中进行一下配置,mys
·
一、创建nodejs
首先执行下边的命令,会得到一个类似vue-cli的node架包,以此为基础进行开发
npm install express-generator -g
express projectname
cd projectname
npm install
然后进行数据库的搭建,我用的是 phpstudy 内置的数据库,创建名为blogdata的库名,然后启动数据库
在config中进行一下配置,mysql对象中的数据需要和数据库初始化时候的一样才行,这样数据库就搞好了,开始写接口了。
mysql: {
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'blogdata',
port: 3306,
}
二、初始化MySQL
这里需要npm初始化一个mysql模块,这里的pool是使用连接池的方式保持持续连接不掉线,
router.post为请求方式,getArticleList为接口名,然后写一个简单的sql查询,返回对应结果。
var express = require('express');
var router = express.Router();
// 实现与MySQL交互
var mysql = require('mysql');
var config = require('../model/config');
// 使用连接池,提升性能
var pool = mysql.createPool(config.mysql);
router.post('/getArticleList', function(req, res, next) {
pool.getConnection(function (err, connection) {
var sql1 = "SELECT * FROM index_list";
connection.query(sql1, function (err, result) {
var resultJson = result;
if (resultJson && resultJson.length >= 0) {
result = {
data: resultJson,
code: 0,
msg: '',
total: resultJson.length
};
res.json(result);
connection.release();
}else{
result = {
data: '',
code: 500,
msg: ''
};
}
});
});
});
module.exports = router;
启动项目,没有报错一个node项目就建成功了!
三、接下来创建个前端页面index.html
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
// url本地地址127.0.0.1+端口+接口名
axios.post('http://127.0.0.1:3000/getArticleList').then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error);
})
</script>
运行前端文件后发现报了个跨域的错,‘No ‘Access-Control-Allow-Origin’ header is present on the requested resource’,需要引入cors模块,然后app.use(cors()),再次运行接口就请求成功了
最后需要注意,自己起的服务端口和数据库端口,前端调用端口和起的服务的端口,一个简单的接口就完成了
更多推荐
已为社区贡献1条内容
所有评论(0)