CDK从我的Typescript代码中生成一个JS文件。当我试图通过SAM本地调用测试编译的JS代码时,我得到了错误:
__dirname is not defined in ES module scope" "stack":["ReferenceError: __dirname is not defined in ES module scope"," at node_modules/aws-cdk-lib/core/lib/custom-resource-provider/custom-resource-provider.js
其他生成的函数正在工作,并且 __dirname 在我正在开发的函数中未调用。
__dirname
这并非针对AWS CDK;这是Node中ESM模块的常见问题。
你能做些什么来获得 __dirname 魔术常数,您可以执行以下操作:
import { fileURLToPath, pathToFileURL } from 'url' const __dirname = dirname(fileURLToPath(import.meta.url))