feat: 尝试支持edgeone

This commit is contained in:
ElyPrism 2025-07-28 18:47:59 +08:00 committed by ImFurina
parent 598c887be8
commit e3a451780a
3 changed files with 56 additions and 14 deletions

23
api/index.js Normal file
View File

@ -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()
}
})
})
}

33
edgeone.config.json Normal file
View File

@ -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"
]
}
}

View File

@ -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"
}
}
]
}