为博客搭一个node后端中台扩展一些服务

在这里插入图片描述
上面是后端的目录结构:这次的尝试是一次拾遗的过程 也是一次复习总结

app.js

const { APP_PORT } = require('./config/config.default')
//端口获取静态配置
const app = require('./app/index.js')
app.listen(APP_PORT, () => {
    console.log(`后端程序运行在本地${APP_PORT}端口`);
})

根据配置开启了一个端口
这里引入了./config/config.default

const path=require('path')
const dotenv = require('dotenv')
const envConfig=dotenv.config({
    path: path.resolve(__dirname, '../.env'), // 配置文件路径
    encoding: 'utf8', // 编码方式,默认utf8
    debug: false, // 是否开启debug,默认false
}).parsed;

if (!envConfig) {
    console.log('配置文件不存在');
    // 退出程序
    process.exit(1);
}
module.exports = process.env;

模块dotenv可以自动检索目录下的.env配置文件,并且加载其中的配置

回到koa的app实例

const axios = require('axios');//发送axios请求
const Koa = require('koa');//koa
const koaBody = require('koa-body');//中间件
const app = new Koa();
const qs = require('qs')//json格式转换
var myRequest = require('request')//请求包
var myCheerio = require('cheerio')//类jquery包的爬虫模块
const schedule = require('node-schedule');//定时服务
const { access } = require('../util/log')//日志打印
var myDate = new Date();//获取当前的时间戳
const util = require('util');//导入了别人的fs流输入
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';//配置头 因为实现功能简单直接全局配置 后续更新

这是本次实现功能的一些配置
在这里插入图片描述
实现码云的动态access_token:

在这里插入图片描述
实现每天0点请求token,中台隐藏自己的账户密码和前台请求的数据更新
在这里插入图片描述
拦截类
在这里插入图片描述
简单的路由实现

------------------->手动分割

最后要实现在docker上部署这个后端中台

任务:1.编写dockerfile和ignorefile
2.上传代码到gitee仓库

上传请参考gitee仓库自带流程

ignorefile

# /usr/src/nodejs/dockerstudy/.dockerignore
.git
node_modules

dockerfile

FROM node:16.14.2

RUN mkdir -p /usr/src/nodejs/

WORKDIR /usr/src/nodejs/

COPY package.json /usr/src/app/package.json
RUN cd /usr/src/app/
RUN npm i

COPY . /usr/src/nodejs/

EXPOSE 8092

CMD node app.js

在拉取代码的路径下构建之后
生成了自己的镜像 此时便可以直接启动容器了

docker run --name koablogcontainer -d -p 8092:8092 koablog

如此一个中台服务就搭好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值