上面是后端的目录结构:这次的尝试是一次拾遗的过程 也是一次复习总结
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
如此一个中台服务就搭好了