Recibo este error cuando accedo a un punto final de API en una implementación de Vercel de una aplicación React con una carpeta api/ de nivel superior que contiene puntos finales sin servidor. Curiosamente, este punto final de la API funciona bien localmente con vercel dev . Aún más interesante, un punto final de API similar en la misma carpeta de API que también usa importaciones de módulos ES6 funciona bien.
[POST] /api/checkout 20:49:23:62 2021-02-20T04:49:23.818Z undefined ERROR /var/task/api/checkout.js:1 import { firebaseAdmin, stripe } from "./_firebase_stripe"; ^^^^^^ SyntaxError: Cannot use import statement outside a module at wrapSafe (internal/modules/cjs/loader.js:979:16) at Module._compile (internal/modules/cjs/loader.js:1027:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at /var/task/___vc_launcher.js:26:28 at Object.<anonymous> (/var/task/___vc_launcher.js:74:7) at Module._compile (internal/modules/cjs/loader.js:1063:30) RequestId: 0e27de3f-fdd1-401a-a5e2-030327a15a31 Error: Runtime exited with error: exit status 1 Runtime.ExitErrorEste es el código que falla en el servidor una vez implementado pero funciona bien localmente.
import { firebaseAdmin, stripe } from "./_firebase_stripe"; import { getConfig } from "./_config"; import { verifiedUser, getCustomerCheckoutDetails, readyToGo, } from "./_helpers"; export default async function Checkout(req, res) { const { url } = getConfig(); let sessionId; Este es el contenido de api/hello.js que funciona bien tanto localmente como en la versión implementada al acceder a /api/hello .
import { firebaseAdmin } from "./_firebase_stripe"; import { getConfig } from "./_config"; export default function (_req, res) { const version = firebaseAdmin.SDK_VERSION; return res.send({ ...getConfig(), version }); }