Skip to content

Commit 777a98a

Browse files
committed
refactor: #42 Optimize project file structure
1 parent d0f22e5 commit 777a98a

File tree

5 files changed

+41
-278
lines changed

5 files changed

+41
-278
lines changed

index.js

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,32 @@
11
// app.js
22
const Koa = require("koa");
3-
const { koaBody } = require("koa-body");
4-
const path = require("path");
5-
const fs = require("fs");
63
const sequelize = require("./utils/dbInstance");
74
const filesRouter = require("./routers/files");
85
const usersRouter = require("./routers/users");
96
const redisClient = require("./redis");
107
const authenticateToken = require("./middleware/authenticateToken");
11-
const cors = require("@koa/cors");
8+
const koaBody = require("./middleware/koaBody");
9+
const cors = require("./middleware/cors");
10+
const createInitDir = require("./utils/createInitDir");
11+
1212
require("./models");
1313
require("./schedules/fileRecover");
1414
require("dotenv").config({ path: ".env.local" });
1515

1616
const app = new Koa();
1717

18-
app.use(
19-
cors({
20-
origin: "http://localhost:5173/", // 允许的来源
21-
allowMethods: ["GET", "POST"], // 允许的方法
22-
})
23-
);
24-
25-
app.use(require("koa-static")(path.join(__dirname, "public")));
26-
27-
const createDirectories = () => {
28-
const dirs = [
29-
path.join(__dirname, "provisional"),
30-
path.join(__dirname, "resource"),
31-
];
32-
dirs.forEach((dir) => {
33-
if (!fs.existsSync(dir)) {
34-
fs.mkdirSync(dir, { recursive: true });
35-
}
36-
});
37-
};
38-
39-
createDirectories();
18+
app.use(cors());
4019

4120
app.use(authenticateToken);
4221

43-
app.use(
44-
koaBody({
45-
multipart: true,
46-
// 解决 DELETE 没法获取ids的问题
47-
parsedMethods: ["POST", "PUT", "PATCH", "DELETE"],
48-
formidable: {
49-
uploadDir: path.join(__dirname, "provisional"), // 临时上传目录
50-
keepExtensions: true, // 保留文件扩展名
51-
},
52-
})
53-
);
22+
app.use(koaBody());
5423

5524
// 挂载文件路由
5625
app.use(usersRouter.routes()).use(usersRouter.allowedMethods());
5726
app.use(filesRouter.routes()).use(filesRouter.allowedMethods());
5827

5928
app.listen(process.env.SERVER_PORT, async () => {
29+
createInitDir();
6030
await redisClient.connect();
6131
await sequelize.sync();
6232
console.log(`Server is running on ${process.env.INTERNAL_NETWORK_DOMAIN}`);

middleware/cors.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const cors = require("@koa/cors");
2+
3+
module.exports = () =>
4+
cors({
5+
origin: "http://localhost:5173/", // 允许的来源
6+
allowMethods: ["GET", "POST"], // 允许的方法
7+
});

middleware/koaBody.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const { koaBody } = require("koa-body");
2+
const path = require("path");
3+
4+
module.exports = () =>
5+
koaBody({
6+
multipart: true,
7+
// 解决 DELETE 没法获取ids的问题
8+
parsedMethods: ["POST", "PUT", "PATCH", "DELETE"],
9+
formidable: {
10+
uploadDir: path.join(__dirname, "..", "provisional"), // 临时上传目录
11+
keepExtensions: true, // 保留文件扩展名
12+
},
13+
});

public/index.html

Lines changed: 0 additions & 241 deletions
This file was deleted.

utils/createInitDir.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const path = require("path");
2+
const fs = require("fs");
3+
4+
module.exports = () => {
5+
const dirs = [
6+
path.join(__dirname, "..", "provisional"),
7+
path.join(__dirname, "..", "resource"),
8+
];
9+
dirs.forEach((dir) => {
10+
if (!fs.existsSync(dir)) {
11+
fs.mkdirSync(dir, { recursive: true });
12+
}
13+
});
14+
};

0 commit comments

Comments
 (0)