menempatkan ini ke dalam pengendali fungsi netlify untuk lambda
// For more info, check https://www.netlify.com/docs/functions/#javascript-lambda-functions
export function handler(event, context, callback) {
console.log('sending')
console.log(event)
console.log(context)
const sgMail = require('@sendgrid/mail')
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
const msg = {
to: '[email protected]',
from: '[email protected]',
templateId: '#ID',
dynamic_template_data: {
recipient: 'alex',
},
}
sgMail.send(msg).catch(function(error) {
console.log(error)
})
console.log('sent sign up')
}
Saya mendapatkan yang berikut ini
TypeError: s is not a function
at e.exports.deepMergeDynamicTemplateData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:127:27164)
at p.applyDynamicTemplateData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:117545)
at p.addPersonalization (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:116796)
at p.addTo (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:116994)
at p.fromData (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:115579)
at new p (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:114482)
at Function.create (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:211:120622)
at e.exports.send (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:1:156753)
at Object.a.handler (/Users/amlcodes/Documents/projects/cctmvp/lambda/mailinglist.js:127:36900)
at /Users/amlcodes/Documents/projects/cctmvp/node_modules/netlify-lambda/lib/serve.js:79:27
at Layer.handle [as handle_request] (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:137:13)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
at next (/Users/amlcodes/Documents/projects/cctmvp/node_modules/express/lib/router/route.js:131:14)
[HPM] Error occurred while trying to proxy request mailinglist from localhost:8000 to http://localhost:9000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)
dengan panggilan ini
fetch('/.netlify/functions/mailinglist', {
method: 'POST',
body: JSON.stringify({
// recipient: this.state.recipient,
recipient: 'alex',
}),
headers: new Headers({
'Content-Type': 'application/json',
}),
})
.then(res => {
console.log('Signup processed successfully')
this.setState({ signupmessage: 'Signup Successful!' })
return res
})
.catch(error => {
console.error('Error:', error)
this.setState({ signupmessage: 'Signup Failed' })
})
this.dynamicTemplateData=s(e,this.dynamicTemplateData)}} di milis yang dihasilkan.js
Halo @amlcodes ,
Sepertinya Netlify menambahkan kode ini s(e,this.dynamicTemplateData)
tanpa mendefinisikan apa fungsinya s
. Apa yang terjadi ketika Anda menghapus garis itu?
Salam hangat,
Elmer
Saya punya masalah ini juga.
Itu terjadi hanya ketika saya menggunakan templateId
, hanya di Netlify (berfungsi tanpa masalah di mesin lokal saya, node 10.16.0)
Saya tidak tahu cara menghapus baris itu dan melihat hasilnya, masalahnya hanya ada di Netlify.
Bisakah Anda mencoba mematikan minifikasi untuk melihat apa masalahnya? https://github.com/netlify/netlify-lambda#debugging
Sebenarnya, cukup yakin ini akan diperbaiki oleh https://github.com/sendgrid/sendgrid-nodejs/pull/1039