首页 > 解决方案 > 如何执行在普通 JavaScript 脚本中使用 Express 的服务器脚本?

问题描述

我是 express 的新手,所以也许这是一个愚蠢的问题,但仍然:我有 js 脚本(称为 client.js),我通过 fetch() 调用 php 脚本(称为 mail.php),并且 php 脚本发送一封电子邮件. 我需要的是在获取之前调用一个使用 express(称为 server.js)的脚本,所以这个脚本会生成一个我稍后将在 php 脚本中发送的图像。

所以这是 client.js 中的 fetch:

fetch(`${server}/dist/php/mail.php`, {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
    },
    body: JSON.stringify({
        'preferences': purchase,
        'logo': newObject,
        'mail': document.getElementById("email").value,
    }),
})

这是 server.js:

const { exec } = require("child_process"),
      express = require("express")

const PORT = 4200
const app = express();

app.listen(PORT, () => {
    console.log(`What's my age again? ${PORT}, I guess.`);
});

exec("node conf.js", (error, stdout, stderr) => {
    if (error) {
        console.log(`error: ${error.message}`);
        return;
    }
    if (stderr) {
        console.log(`stderr: ${stderr}`);
        return;
    }
    console.log(`stdout: ${stdout}`);
});

如您所见,我使用 exec() 调用另一个名为 conf.js 的 js 脚本,它实际上创建了一个我需要在 php 脚本中发送的文件。

主要问题是:如何在 fetch 之前调用 server.js,这样它会创建一个文件,并且只有在 fetch 之后才能工作?非常感谢任何答案。

标签: javascriptphpexpressserverroutes

解决方案


推荐阅读