标签: netlify-function

SvelteKit 中的 SSR 解释

我最近开始通过 SvelteKit 使用 Svelte,我对这个框架有一些疑问,但我无法在源代码/文档中找到任何直接答案:

  1. SvelteKit 有SSR,在文档中它说:

如果您需要从外部 API 请求数据,所有服务器端代码(包括端点)都可以访问 fetch。

  • 除了端点之外,服务器端还呈现哪些代码以及它如何决定这一点?svelte 页面脚本中的所有代码都在客户端上运行,还是其中一些代码在服务器上运行?
  • 为了在本地使用 SSR,您需要一个适配器,还是 svelte 自己启动服务器?
  • 例如,SSR如何在像Netlify这样的生产环境中工作。netlify 适配器是否用于 SSR(在netlify 函数中运行端点)?如果未提供 netlify 适配器,端点将如何/在哪里运行?
  1. 如果我想在sveltekit 项目中使用自定义 netlify 函数,需要哪些配置(除了 netlify.toml 和 netlify 适配器)才能让 netlify 识别函数目录中的函数?
  2. SSR 和预渲染之间有什么区别?SSR仅用于端点和其他js代码,预渲染用于生成Html并将其发送到客户端,然后将其与编译后的js代码一起发送到浏览器?

谢谢!

prerender server-side-rendering svelte netlify-function sveltekit

27
推荐指数
2
解决办法
2万
查看次数

如何在 Netlify lambda 函数之间共享代码

我有 3 个独立的函数,每个函数都在它们自己的文件夹中。它们都使用 Twilio 客户端和 Apollo 客户端分别处理 SMS 和 GraphQL 服务器。

与其在每个文件中都拥有实例化每个客户端(从 env 等获取密钥)的所有代码,不如将它放在某个地方并需要它?

我尝试将代码放入顶级函数/文件夹中的 .js 文件中,并在函数代码中要求它,如下所示,这在本地运行良好,netlify devModule not found '../twilioClient'在实时环境中调用函数时出错。

/functions
  apolloClient.js
  twilioClient.js
  package.json - specifying deps used by above files
  /auth
    auth.js - require('../apolloClient')
    ...
  /trails
    trails.js - require('../twilioClient') etc.
    ...
Run Code Online (Sandbox Code Playgroud)

code-sharing aws-lambda netlify serverless netlify-function

5
推荐指数
1
解决办法
620
查看次数

在 VS Code 中调试 Netlify 函数

我试图在 netlify 函数内部设置一个断点,该函数通过netlify dev以下设置执行:

设置

安装Netlify-CLI

npm install netlify-cli -g
Run Code Online (Sandbox Code Playgroud)

netlify.toml

[build]
  functions = "functions/"
Run Code Online (Sandbox Code Playgroud)

functions/hello.js

[build]
  functions = "functions/"
Run Code Online (Sandbox Code Playgroud)

这是一个带有设置的示例项目

跑步

您应该能够通过以下方式正常运行netlify dev

Netlify 开发截图

这将在以下地址公开该函数:

http://localhost:8888/.netlify/functions/hello?name=Kyle
Run Code Online (Sandbox Code Playgroud)

调试尝试

Launch.config

在 VSCode 中,您应该能够使用launch.config. 我尝试过以下配置

exports.handler = async(event, context) => {
    let output = `Hello, ${event.queryStringParameters.name}`
    return { statusCode: 200, body: output};
}
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

http://localhost:8888/.netlify/functions/hello?name=Kyle
Run Code Online (Sandbox Code Playgroud)

节点--inspect

有很多利用节点--inspectswitch的示例,但我不知道如何让它与 VS Code 断点一起使用。

其他主题

node.js node-inspector visual-studio-code netlify-function

5
推荐指数
1
解决办法
771
查看次数