node.js - @babel/register가 ESM 임포트를 트랜스파일하도록 하는 방법은?
저는 런타임에 TypeScript 파일을 변환하기 위해 다음을 사용하고 있습니다.
import babelRegister from "@babel/register"
babelRegister({
presets: [
"@babel/preset-env",
"@babel/preset-react",
"@babel/preset-typescript",
],
extensions: [".tsx"],
cache: false,
})
CommonJS에서 ESM으로 코드베이스를 마이그레이션하려고 시도할 때까지 모든 것이 잘 작동했습니다.
Sindre Sorhus에 따르면, require를 import로 교체하고 확장자가 지정되지 않은 경우 .js를 추가해야 합니다 (./src/routers/Static는 ./src/routers/Static.tsx를 가리킵니다).
나는 다음을 교체했다
const StaticRouter = require("./src/routers/Static").default
와/과, 함께
import StaticRouter from "./src/routers/Static.js"
이제 다음 오류가 발생합니다.
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/sunknudsen/Code/sunknudsen/sunknudsen-website/src/routers/Static' imported from /Users/sunknudsen/Code/sunknudsen/sunknudsen-website/server.js
어떻게 오류를 우회할 수 있나요?
도와줘서 고마워요!