Gatsby + Netlify-Dev Lambda 函数 - Lambda 服务器端口总是不同?
Gatsby + Netlify-Dev Lambda Functions - Lambda Server Port always different?
我正在尝试在我的 gatsby 项目中使用 netlify-dev
及其无服务器功能。
这是我的 netlify.toml
文件
[build]
functions = "lambda"
command = "gatsby build"
[dev]
command = "gatsby develop"
functionsPort = 34567
port = 8000
publish = "public"
targetPort = 8000
我将其添加到我的 Gatsby 配置中
const proxy = require("http-proxy-middleware")
module.exports = {
developMiddleware: app => {
app.use(
"/.netlify/functions/",
proxy({
target: "http://localhost:34567",
pathRewrite: {
"/.netlify/functions/": "",
},
})
)
},
//...
不过,端口好像有问题
每次我 运行 netlify dev
我总是得到一个新的随机端口
Netlify Dev ◈
◈ Injected build setting env var: CLOUDINARY_CLOUD_NAME
◈ Injected build setting env var: CLOUDINARY_API_KEY
◈ Injected build setting env var: CLOUDINARY_SECRET
◈ Starting Netlify Dev with gatsby
Waiting for localhost:8000.
◈ Lambda server is listening on 61271 //*** I would expect this to be 34567? ***
success open and validate gatsby-configs - 0.066s
⠋ load plugins
我在这里错过了什么?为什么端口总是不同?
尽管您正在设置端口 8000
,但它将无法使用它,因为它已被 gatsby develop
使用。这就是为什么它总是给你一个不同的端口号。如果您希望端口号始终相同,请使用另一个随机数(如果您不设置端口,默认使用 8888)。
关于您的 netlify 函数,除非您出于任何特定原因想要设置不同的端口,否则我会保留它们的原样并使用以下命令简单地调用它们:/.netlify/functions/your-function-name
.
我主要在 netlify.toml
上使用此最低配置
[build]
functions = "functions"
那么,在您的代码中,您无需担心端口号。
更新
这似乎是最新 netlify-cli
版本的问题。已有 issue
个 open。
回滚到以前的版本似乎是一个很好的临时解决方案。
我正在尝试在我的 gatsby 项目中使用 netlify-dev
及其无服务器功能。
这是我的 netlify.toml
文件
[build]
functions = "lambda"
command = "gatsby build"
[dev]
command = "gatsby develop"
functionsPort = 34567
port = 8000
publish = "public"
targetPort = 8000
我将其添加到我的 Gatsby 配置中
const proxy = require("http-proxy-middleware")
module.exports = {
developMiddleware: app => {
app.use(
"/.netlify/functions/",
proxy({
target: "http://localhost:34567",
pathRewrite: {
"/.netlify/functions/": "",
},
})
)
},
//...
不过,端口好像有问题
每次我 运行 netlify dev
Netlify Dev ◈
◈ Injected build setting env var: CLOUDINARY_CLOUD_NAME
◈ Injected build setting env var: CLOUDINARY_API_KEY
◈ Injected build setting env var: CLOUDINARY_SECRET
◈ Starting Netlify Dev with gatsby
Waiting for localhost:8000.
◈ Lambda server is listening on 61271 //*** I would expect this to be 34567? ***
success open and validate gatsby-configs - 0.066s
⠋ load plugins
我在这里错过了什么?为什么端口总是不同?
尽管您正在设置端口 8000
,但它将无法使用它,因为它已被 gatsby develop
使用。这就是为什么它总是给你一个不同的端口号。如果您希望端口号始终相同,请使用另一个随机数(如果您不设置端口,默认使用 8888)。
关于您的 netlify 函数,除非您出于任何特定原因想要设置不同的端口,否则我会保留它们的原样并使用以下命令简单地调用它们:/.netlify/functions/your-function-name
.
我主要在 netlify.toml
[build]
functions = "functions"
那么,在您的代码中,您无需担心端口号。
更新
这似乎是最新 netlify-cli
版本的问题。已有 issue
个 open。
回滚到以前的版本似乎是一个很好的临时解决方案。