Node 中的 ESM 支持
从Node.js版本开始17.0.0,任何 Node.js 应用程序均可支持 ESM 或 ECMAScript 模块。某些库(比如我们接下来要安装的库)已进行 ESM 迁移。虽然您可以使用带或不带 ESM 的库,但您不能挑选要使用的语法。您必须将您的应用程序完全转换为 ESM,否则就坚持使用旧语法。本教程所基于的原始视频对无服务器函数使用了较旧的语法。我们已经更新了 repo ,本指南使 哈萨克斯坦whatsapp数据 用的是较新的 ESM 支持语法。要转换到 ESM,请向文件"type": "module"中添加package.json并将 切换。如果您有任何使用语法的导入,它们也需要转换为 '语法。
使用 ESM 语法:
我们还需要更新netlify.toml文件以告诉 Netlify 在部署无服务器功能时使用它们。在下方esbuild添加设置
带有功能设置的 toml 文件
安装软件包
现在我们已经package.json创建了文件,我们可以安装 Node fetch 库了。在终端中,运行命令npm install --save-dev node-fetch。完成后,您将看到文件中有一个devDependencies包含库的新属性,并且会自动创建一个新文件。
package.json 显示 node-fetch 作为开发依赖项
您的版本可能与我的不同。如果您遇到任何问题,请尝试node-fetch使用npm rm node-fetch命令删除,然后安装 以安装保存的版本。
导入包
返回到 需要导入并使用node-fetch刚刚安装的库的文件。我们需要使用import语法,因为库的 3 及更高版本node-fetch使用 ESM 语法。将此行添加到文件开头。
不要忘记,如果您还没有告诉它使用 ESM,那么您还必须package.json使用属性来更新文件。"type": "module"
现在,如果您再次启动服务器并在浏览器中ntl dev导航到,您可以看到该函数成功运行。
之前,我们使用 Netlify CLI 设置并将站点链接到 Netlify。每当我们向链接到 Netlify 站点的 git 存储库进行推送时,都会自动触发部署。让我们继续运行命令来推送我们的代码并触发部署。