Я пытаюсь отправить адрес электронной почты в виде объекта json на узел Express Rest API и распечатать его в HTML-файл. Значение предоставляется из index.js. Я ожидаю, что адрес электронной почты будет напечатан в файле, но все, что я получил, было неопределенным и, таким образом, как console.log. Мне интересно, какую часть я сделал не так? Файлы показаны ниже.
клиент postRequest.js
export function send(data={}) {
return sendRequest('/send', data);
}
async function sendRequest(path, data={}) {
const PATH = `${ROOT_URL}${path}`;
const options = {'from' : data.from}
const Settings = {
method : 'POST',
headers : {
'Content-Type': 'application/json'
},
options
};
const response = await fetch(PATH, Settings)
.then( res => res.json())
.then( json => {
return json;
})
.catch( e => {
return e;
})
return data;
}
client index.js
import { send } from "./lib/postRequest";
function exportEmail(data => {
let email = JSON.stringify('exp@gmail.com')
send({'from' : email})
})
server.js
const express = require("express");
const next = require("next");
const fs = require('fs');
const dev = process.env.NODE_ENV !== "production";
const port = process.env.PORT || 3000;
const ROOT_URL = dev ? "http://localhost:${port}" : "https://exp.com";
const app = next({ dev })
const handle = app.getRequestHandler()
app.prepare().then(() => {
const server = express()
server.use(express.urlencoded({
extended: false
}));
server.use(express.json());
server.post("/send", (req, res) => {
fs.writeFile("./temp/test.html", req.body.from, function(err) {
if(err) {
return console.log(err);
}
console.log(req.body.from)
console.log("The file was saved!");
});
});
server.get('*', (req, res) => {
return handle(req, res)
})
server.listen(port, (err) => {
if (err) throw err
console.log('> Ready on ${ROOT_URL}')
})
}).catch((ex) => {
console.error(ex.stack)
process.exit(1)
})