一、创建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,
 }

创建node的基本目录

二、初始化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()),再次运行接口就请求成功了
在这里插入图片描述

最后需要注意,自己起的服务端口和数据库端口,前端调用端口和起的服务的端口,一个简单的接口就完成了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐