问题描述
我目前正在尝试使用无服务器框架使用lambda渲染react ssr。我可以找到的大多数示例都在使用下一个js,但我没有在使用下一个js。
渲染实际上发生在已部署的代码中。但是,它似乎无法获取js和图像文件之类的静态文件,因为基本url仅使用lambda url,这是错误的。
要解决此问题,人们建议使用
serverless-domain-manager
但是,它仍然可以从lambda网址获取。
https://...-central-1.amazonaws.com/dist/main.js?v=53b4d42f1d62
我喜欢将基本URL更改为我的域名。
这是我的serverless.yml文件
provider:
name: aws
runtime: nodejs12.x
region: ca-central-1
memorySize: 1024
logRetentionInDays: 1
environment:
NODE_ENV: production
functions:
server:
handler: sls_dist/server.handler
events:
- http: ANY /
- http: ANY /{proxy+}
custom:
apigwBinary:
types:
- '*/*'
customDomain:
domainName: domain.ca
basePath:
certificateName: '*.domain.ca'
stage: dev
createRoute53Record: true
securityPolicy: tls_1_2
endpointType: 'regional'
certificateArn: arn:...
package:
excludeDevDependencies: false
plugins:
- serverless-plugin-include-dependencies
- serverless-plugin-common-excludes
- serverless-apigw-binary
- serverless-domain-manager
server.js
const sls = require('serverless-http')
const app = require('./server.prod')
const binaryMimeTypes = require('./binaryMimeTypes')
module.exports.handler = sls(app.default,{
binary: binaryMimeTypes.default
})
这是我的webpack输入文件。
我做错什么了吗?如果您有任何示例,请分享。
我还想知道是否有人尝试使用不使用nextjs的lambda来反应ssr。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)