NodeJS Puppeteer error SyntaxError:意外的token“??=”[重复]

gg0vcinb  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(280)

此问题在此处已有答案

Nullish coalescing assignment operator (??=) in NodeJS(4个答案)
昨天关闭。

import puppeteer from 'puppeteer';
import { fileURLToPath } from 'url';
import path from 'path';

export const pdfMaker = async ({ name, id }) => {
  const __filename = fileURLToPath(import.meta.url);
  const __dirname = path.dirname(__filename);

  // Launch a headless Chrome browser
  const browser = await puppeteer.launch();

  // Open a new page
  const page = await browser.newPage();

  // Navigate to a website
  await page.goto(`http://localhost:3000/record/pdf/${id}`);

  // Set the viewport to cover the entire page
  await page.setViewport({ width: 640, height: 100 });

  // Generate PDF of the entire page
  await page.pdf({
    path: `uploads/pdfs/${id}.pdf`,
    format: 'A4',
    printBackground: true,
    margin: { top: '20px', right: '20px', bottom: '20px', left: '20px' }
  });

  // Close the browser
  await browser.close();
};
**********************ERROR-************************
file:///app/node_modules/puppeteer/lib/esm/puppeteer/getConfiguration.js:88
    configuration.experiments ??= {};
                              ^^^

SyntaxError: Unexpected token '??='
    at Loader.moduleStrategy (internal/modules/esm/translators.js:149:18)

当我把我的代码放在渲染器上或尝试在Docker上运行时,它会给出这个错误,而在我的本地机器上,它会成功运行。

beq87vna

beq87vna1#

您的代码中的JavaScript语法可能存在问题。具体来说,??=运算符是ECMAScript 2021(也称为JavaScript ES 12)中引入的较新语法。首先检查您的节点版本以及您使用的ES版本。

相关问题