【问题标题】:How can I run a node.js server next to the current PSK setup?如何在当前 PSK 设置旁边运行 node.js 服务器?
【发布时间】:2015-12-16 12:05:51
【问题描述】:

我需要监听/mail 路径上的 POST 请求,这样我就可以通过 JS 发送电子邮件,而无需刷新页面。我正在考虑一个 express nodejs 服务器,它会在/mail 发出 POST 请求时发送电子邮件。

gulp serve 任务当前使用 browserSync 来显示应用程序,但这仅显示站点的静态部分。 如果我运行gulp serve,然后运行包含快速服务器的node mail.js 脚本,我会收到EADDRINUSE 错误,因为我认为快速服务器与browserSync 冲突。

我可以做些什么来克服这个错误?

【问题讨论】:

    标签: node.js express browser-sync polymer-starter-kit


    【解决方案1】:

    在您的 mail.js 文件中,将端口号从 3000 更改为其他任何值。像4000 (这里的 app 是你的 express 实例)

     app.listen(3000, function( ....
    

    到 app.listen(4000, function( ....

    当您现在发布到 ?mail 时,这可能会导致 CORS 错误。

    因此,您现在需要在您的快速服务器代码中添加对来自 localhost:3000 应用程序的 POST 请求的允许,方法如下:

    app.all('*', function (req, res, next) {
        res.header("Access-Control-Allow-Origin", "localhost:4000");
        res.header('Access-Control-Allow-Credentials', true);
        res.header('Access-Control-Allow-Methods', 'POST');
        res.header('Access-Control-Allow-Headers', '*');
        // intercept OPTIONS method
        if ('OPTIONS' == req.method) {
            res.sendStatus(200);
        } else {
            next();
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2021-07-29
      • 2015-06-16
      • 1970-01-01
      相关资源
      最近更新 更多