From e3a451780adde80160e14a3bb26b7cc461e96dda Mon Sep 17 00:00:00 2001 From: MoeFurina Date: Mon, 28 Jul 2025 18:47:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=9D=E8=AF=95=E6=94=AF=E6=8C=81edg?= =?UTF-8?q?eone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/index.js | 23 +++++++++++++++++++++++ edgeone.config.json | 33 +++++++++++++++++++++++++++++++++ edgeone.json | 14 -------------- 3 files changed, 56 insertions(+), 14 deletions(-) create mode 100644 api/index.js create mode 100644 edgeone.config.json delete mode 100644 edgeone.json diff --git a/api/index.js b/api/index.js new file mode 100644 index 0000000..e7b2b36 --- /dev/null +++ b/api/index.js @@ -0,0 +1,23 @@ +const { serveNcmApi } = require('../server') + +export default async function handler(req, res) { + // EdgeOne Pages 环境配置 + process.env.NODE_ENV = 'production' + + // 初始化服务 + const app = await serveNcmApi({ + port: process.env.PORT || 3000, + host: '0.0.0.0' + }) + + // 将请求转发给 Express 应用 + return new Promise((resolve, reject) => { + app.handle(req, res, (err) => { + if (err) { + reject(err) + } else { + resolve() + } + }) + }) +} diff --git a/edgeone.config.json b/edgeone.config.json new file mode 100644 index 0000000..4a148d1 --- /dev/null +++ b/edgeone.config.json @@ -0,0 +1,33 @@ +{ + "functions": { + "*": { + "memory": 1024, + "runtime": "nodejs18" + } + }, + "routes": [ + { + "src": "/(.*)", + "dest": "/api/index.js", + "headers": { + "Access-Control-Allow-Credentials": "true", + "Access-Control-Allow-Methods": "GET,POST,PUT,DELETE,OPTIONS", + "Access-Control-Allow-Headers": "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" + } + } + ], + "build": { + "command": "pnpm install --registry=https://registry.npmmirror.com", + "include": [ + "api", + "module", + "util", + "plugins", + "public", + "data", + "server.js", + "package.json", + ".env" + ] + } +} diff --git a/edgeone.json b/edgeone.json deleted file mode 100644 index 38b8826..0000000 --- a/edgeone.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "functions": [ - { - "path": "/(.*)", - "method": ["GET", "POST", "PUT", "DELETE", "OPTIONS"], - "handler": "index.js", - "headers": { - "Access-Control-Allow-Credentials": "true", - "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS", - "Access-Control-Allow-Headers": "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version" - } - } - ] -}