一.搭建环境

  1.Visual Studio Code代码编辑器  (其他编辑器也可以)

  2.node.js是运行javascript代码的环境  (下载安装教程上网去搜)

  3.如果想涉及数据库的话,就下载个mysql  (下载安装教程上网去搜)

二.搭建服务器前的准备

   1.在桌面上建一个文件夹 ddd  (随便起的)

 2.  Win+r打开终端  

      输入cd

      将卓面上的ddd文件拖入到终端里,回车。则表示到该文件下了

 

3.初始化此文件 输入 npm init    回车,回车,再回车.........直到结束到了C:\Users\29075\Desktop\ddd>就可以了

 

 4.去ddd文件看看是否出现了package.json文件,此文件在哪个文件夹则该文件夹就是项目,所以ddd就是一个项目文件夹。这个文件主要是用来记录这个项目的详细信息的,它会将我们在项目开发中所要用到的包,以及项目的详细信息等记录在这个项目中。

5.咱们去安装cnpm指令,为什么要安装呢,当然是因为下载速度快呀,速度块用起来才舒服。

  电脑上只有npm指令,检查自己的电脑上是否有cnpm指令 Win + r打开终端输入 npm -v 回车

如果显示版本号,则有npm指令。输入cnpm -v回车。如果显示版本号则有cnpm指令

 cd ../../返回上两级(不想这样的,关掉终端重新打开一个,再输入这两行命令检查是否有)

 此时我已经有这两个命令了.

没有的在终端里输入

  • npm install -g cnpm --registry=https://registry.npm.taobao.

  • 这是国内的镜像市场

 我已经有了,安装错误,提示我已经有了。

安装完之后再去测有没有这个指令

三.正式开始服务器的搭建

  1.在终端里进入该项目文件夹下

 2.安装koa模块输入cnpm install koa --save

3.项目文件夹下出现另一个文件

  

 4.将ddd文件夹拖入 Visual Studio Code

5.在ddd文件夹下创建index.js

 

5.去文件夹node_modules 中找到 koa文件夹下的Readme.md文件打开

 

 6.

// 导入koa模块
const Koa = require('koa');
const app = new Koa();
// 定义变量port
var port = 5050
// response 服务器响应
app.use(ctx => {
  ctx.body = 'Hello Koa';
});

// 监听端口号
console.log("服务器正在运行中")
app.listen(port);

7.运行,在该文件夹下输入 inode index.js (此时必须安装好node.js)为了运行该文件夹下的index.js里的代码.服务器已经运行了

 8.此时一个啥功能都没有的服务器已经搭建好了。是不是特别容易小伙伴们。

给这个服务器增加功能:1.增加路由接口

                                        2.增加静态资源访问能力

                                        3.让服务器的路由增加参数解析能力

                                        4.让服务器能够连接上数据库

                                        5.解决服务器的跨域问题

                                        6.能够向服务器上传文件

四.增加功能

   1.增加路由接口   在终端进入ddd文件夹下输入cnpm install koa-router --save  回车

   

如果用的是vscode编辑器记得安装后刷新一下否则找不到koa-router文件夹

找到koa-router文件夹下的lib文件夹打开lib文件夹下的router.js文件复制右侧红框中的代码。

重复的可以删掉。

 修改好的代码

// 导入koa模块
const Koa = require('koa');
const app = new Koa();
// 定义变量port
var port = 5050
// response 服务器响应
// app.use(ctx => {
//     ctx.body = 'Hello Koa';
// });


// 导入koa-router模块
const Router = require('koa-router');

const router = new Router();


// 路由接口
router.get('/', (ctx, next) => {
    // ctx.router available
    ctx.body = "路由接口增加成功"
});

// 增加小米接口

router.get('/xiaomi', (ctx, next) => {
    // ctx.router available
    ctx.body = "小米路由接口增加成功"
});



app
    .use(router.routes())
    .use(router.allowedMethods());

// 监听端口号
console.log("服务器正在运行中")
app.listen(port);

 每次修改完index.js文件重新打开服务器在终端ddd文件夹下输入node index.js

在浏览器输入http:localhost:5050/   回车显示默认的接口我定义的端口号为5050.

 在浏览器输入http:localhost:5050/xiaomi

 想增加什么路由接口就增加什么路由接口 ctrl + c 结束服务器运行

 2.增加静态资源访问能力

安装koa-static模块  在终端ddd文件夹下输入cnpm install koa-static --save

 

去文件夹node_modules 中找到 koa-static文件夹下的Readme.md文件打开复制右侧代码

 修改后的代码 就增加了两行代码,导入模块一行,使用一行(app.use(serve(__dirname + '/sx'));)

意思就是默认访问ddd文件夹下的sx文件(自己定义啥就写啥,记得在ddd文件夹下创建个文件叫sx)

// 导入koa模块
const Koa = require('koa');
const app = new Koa();
// 定义变量port
var port = 5050

// 导入koa-router模块
const Router = require('koa-router');
const router = new Router();

// 导入koa-static模块
const serve = require('koa-static');
// or use absolute paths
app.use(serve(__dirname + '/sx'));




// 路由接口
router.get('/', (ctx, next) => {
    // ctx.router available
    ctx.body = "路由接口增加成功"
});

// 增加小米接口

router.get('/xiaomi', (ctx, next) => {
    // ctx.router available
    ctx.body = "小米路由接口增加成功"
});



app
    .use(router.routes())
    .use(router.allowedMethods());

// 监听端口号
console.log("服务器正在运行中")
app.listen(port);

 在sx文件夹下写个1.txt(随便写的,内容也是)去浏览器访问

    打开服务器

    在浏览器输入http:localhost:5050/1.txt

  3.让服务器的路由增加参数解析能力

     安装koa-bodyparser模块

 

 修改后的代码

// 导入koa模块
const Koa = require('koa');
const app = new Koa();
// 定义变量port
var port = 5050

// 导入koa-router模块
const Router = require('koa-router');
const router = new Router();

// 导入koa-static模块
const serve = require('koa-static');
// or use absolute paths
app.use(serve(__dirname + '/sx'));


// 导入路由参数解析模块
var bodyParser = require('koa-bodyparser');
app.use(bodyParser());



// 路由接口
router.get('/', (ctx, next) => {
    // ctx.router available
    ctx.body = "路由接口增加成功"
});

// 增加小米接口

router.get('/xiaomi', (ctx, next) => {
    // ctx.router available
    console.log(ctx.request.query)
    ctx.body = "小米路由接口增加成功"
});



app
    .use(router.routes())
    .use(router.allowedMethods());

// 监听端口号
console.log("服务器正在运行中")
app.listen(port);

在xiaomi接口中,打印服务器得到的数据,访问该接口.(记得重新打开服务器) 传入点数据

 

 输入的数据以{ }对象的方式打印出来了

 

4.让服务器能够连接上数据库

      4.1mysql下载安装教程(上网搜,尽量别下载新版本的.我的是mysql-installer-community-5.7.33.0 版本的)

      4.2安装数据库连接模块cnpm install mysql

 

 同上

修改后的代码

// 导入koa模块
const Koa = require('koa');
const app = new Koa();
// 定义变量port
var port = 5050

// 导入koa-router模块
const Router = require('koa-router');
const router = new Router();

// 导入koa-static模块
const serve = require('koa-static');
// or use absolute paths
app.use(serve(__dirname + '/sx'));


// 导入路由参数解析模块
var bodyParser = require('koa-bodyparser');
app.use(bodyParser());

// 导入数据库连接模块
var mysql = require('mysql');
var connection = mysql.createConnection({
    host: 'localhost',
    //   mysql账号
    user: 'root',
    //   mysql密码
    password: '123456',
    //   数据库的名字
    database: 'my_db'
});
// 打开数据库连接
connection.connect();

// 对数据库的操作  可进行增删改查
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
    if (error) throw error;
    console.log('The solution is: ', results[0].solution);
});
// 关闭数据库连接
connection.end();

// 路由接口
router.get('/', (ctx, next) => {
    // ctx.router available
    ctx.body = "路由接口增加成功"
});

// 增加小米接口

router.get('/xiaomi', (ctx, next) => {
    // ctx.router available
    console.log(ctx.request.query)
    ctx.body = "小米路由接口增加成功"
});



app
    .use(router.routes())
    .use(router.allowedMethods());

// 监听端口号
console.log("服务器正在运行中")
app.listen(port);

5.解决服务器的跨域问题

6.能够向服务器上传文件

 

Logo

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

更多推荐