You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda文件路径咨询:./html/product.html对应的html文件夹存放位置

问题1:路径中.的具体指代位置

你代码中readFile("./html/product.html")里的.,默认指代Lambda函数运行时的工作目录,也就是你上传的函数部署zip包解压后的根目录(Lambda执行环境中对应路径为/var/task)。

注意:这个工作目录和你当前编写代码的js文件所在目录不一定一致,是相对Node进程启动的目录来计算的,这也是这类路径问题高发的原因。

问题2:html文件夹的正确存放位置

要匹配你当前写的./html/product.html路径,html文件夹需要最终出现在部署zip包的根目录下,对应你本地的项目结构分两种常见场景:

  • 如果你打包部署包时,是直接将src文件夹内的所有文件输出到zip根目录(也就是你的入口js文件解压后直接在/var/task下):请把html文件夹放在src文件夹内部,打包后html就会自动出现在部署包根目录
  • 如果你打包部署包时,是将整个项目目录(包含src文件夹、package.json等)直接打包,也就是入口js文件解压后在/var/task/src/下:请把html文件夹放在和src同级的位置,打包后html就会出现在部署包根目录

避坑优化建议

如果要避免工作目录变动导致的路径报错,推荐用__dirname拼接绝对路径,修改代码如下:

const path = require('path');
// 此时路径是相对于当前js文件所在目录计算,不受工作目录影响
const htmlPath = path.join(__dirname, './html/product.html');
readFile(htmlPath, 你的后续逻辑);

用这种写法的话,你直接把html文件夹和写这段代码的js文件放在同级目录即可,不需要考虑打包规则的差异。


内容的提问来源于stack exchange,提问作者Jim Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:30:04