要解决这个问题,您可以使用Babel编译器来将ESM模块转译为普通的JavaScript模块。
首先,确保您已经安装了Babel编译器,可以使用以下命令进行安装:
npm install --save-dev @babel/core @babel/cli
然后,创建一个.babelrc文件,用于配置Babel的转译规则。在该文件中,将以下配置添加到.babelrc文件中:
{
"presets": [
"@babel/preset-env"
]
}
接下来,您可以使用Babel编译器来将ESM模块转译为普通的JavaScript模块。以下是一个示例代码:
const babel = require('@babel/core');
const inputCode = `
import { sum } from './math.js';
console.log(sum(1, 2));
`;
babel.transform(inputCode, {}, function(err, result) {
if (err) {
console.error(err);
} else {
console.log(result.code);
}
});
在上面的示例代码中,我们首先导入了需要转译的ESM模块。然后,使用Babel编译器的transform方法将输入代码转译为普通的JavaScript代码。最后,将转译后的代码打印到控制台。
请注意,上述示例仅适用于单个文件的转译。如果您需要转译整个项目或多个文件,可以考虑使用Babel命令行工具或构建工具(如Webpack)来处理转译过程。
希望这可以帮助到您!