起こった問題
Next.js14でビルドをしようとしたときに、以下のようなエラーが出力されていました。
修正を入れてもいないのに、puppeteer周りでエラーが出力されていた。
エラー内容
> next build
Failed to compile.
./node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js
Module parse failed: Unexpected token (174:32)
File was processed with these loaders:
* ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/index.js
* ./node_modules/next/dist/build/webpack/loaders/next-swc-loader.js
You may need an additional loader to handle the result of these loaders.
| private: true,
| access: {
> has: (obj)=>#applyViewport in obj,
| get: (obj)=>obj.#applyViewport
| },
Import trace for requested module:
./node_modules/puppeteer-core/lib/esm/puppeteer/cdp/EmulationManager.js
./node_modules/puppeteer-core/lib/esm/puppeteer/puppeteer-core.js
./src/app/puppeteer/route.ts
解決方法
先に具体的な問題箇所と解決方法を書きます。
問題になってたのは以下のようなコードでした。
export class ConfigUtil {
public static getApiPath = () => {
return process.env.XXX;
}
}
// 別ファイル
...
fetch(ConfigUtil.getApiPath(), ...);
...
どうも、ConfigUtil
をSSRとCSRの両方で実行していたことが原因のようでした。
ただ、なぜこれでpuppeteer-coreのビルドエラーが出るのかはなぞでした。
※ ご存じの方がいたら教えてください…
コメント