feat(init): 初始化远程组件项目
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { join } from "path";
|
||||
import { promises as fs } from "fs";
|
||||
import { defineEventHandler } from "h3";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
// 跨域
|
||||
event.node.res.setHeader("Access-Control-Allow-Origin", "*");
|
||||
event.node.res.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS");
|
||||
event.node.res.setHeader("Access-Control-Allow-Headers", "Content-Type");
|
||||
|
||||
// 支持 preflight OPTIONS 请求
|
||||
if (event.node.req.method === "OPTIONS") {
|
||||
event.node.res.statusCode = 204;
|
||||
event.node.res.end();
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// Nuxt buildDir 是 .nuxt
|
||||
const manifestPath = join(process.cwd(), ".nuxt/generated/manifest.ts");
|
||||
|
||||
// 检查文件是否存在
|
||||
await fs.access(manifestPath);
|
||||
|
||||
// 动态导入
|
||||
const { manifestInfo } = await import(manifestPath);
|
||||
|
||||
return manifestInfo;
|
||||
} catch (err) {
|
||||
console.warn("manifest not found", err);
|
||||
return { version: "0.0.0", components: [] };
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../.nuxt/tsconfig.server.json"
|
||||
}
|
||||
Reference in New Issue
Block a user