代码之家  ›  专栏  ›  技术社区  ›  Portekoi

nodemon:节点未运行

  •  0
  • Portekoi  · 技术社区  · 5 年前

    我创建了我的第一个节点应用程序 server.js 文件。

    当我这样做的时候: nodemon ./server.js localhost 3000

    我收到这些信息,但是网站 http://localhost:3000 没有运行。

    [nodemon]1.18.10[nodemon]要随时重新启动,请输入 rs

    [nodemon]观看: . [nodemon]正在启动'node./server.js localhost

    3000`[nodemon]清除退出-重新启动前等待更改

    我做错什么了?

    服务器,JS 文件:

    const express = require('express');
    const app = express();
    const multipart = require('connect-multiparty');
    const cloudinary = require('cloudinary');
    const cors = require('cors');
    const bodyParser = require('body-parser');
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(cors());
    
    const multipartMiddleware = multipart();
    
    cloudinary.config({
        cloud_name: 'aaa',
        api_key: 'xxx',
        api_secret: 'xxxxxdd'
    });
    
    app.post('/upload', multipartMiddleware, function(req, res) {
      cloudinary.v2.uploader.upload(req.files.image.path,
        {
          ocr: "adv_ocr"
        }, function(error, result) {
            if( result.info.ocr.adv_ocr.status === "complete" ) {
              res.json(result); // result.info.ocr.adv_ocr.data[0].textAnnotations[0].description (more specific)
            }
        });
    });
    

    我试着通过发送邮件请求来测试邮递员,但我得到: Could not get any response

    2 回复  |  直到 5 年前
        1
  •  1
  •   Henry Woody    5 年前

    您需要添加 app.listen 行到代码,这样程序就可以继续运行并监听请求。当前节点只运行文件,由于在文件末尾没有任何保持程序运行的内容,因此程序立即退出。

    您可以在文件底部添加这样的行:

    const port = 3000;
    app.listen(port, () => console.log(`Listening for requests on port ${port}`));
    

    然后运行文件:

    nodemon ./server.js
    
        2
  •  1
  •   Giannis    5 年前

    您的server.js文件结束,因此您从节点得到一条干净的退出消息。您需要做的是在server.js的末尾添加以下代码行。您需要应用程序始终监听端口3000。我正在发布所有server.js文件。

    const express = require('express');
    const app = express();
    const multipart = require('connect-multiparty');
    const cloudinary = require('cloudinary');
    const cors = require('cors');
    const bodyParser = require('body-parser');
    
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: true }));
    app.use(cors());
    
    const multipartMiddleware = multipart();
    
    cloudinary.config({
      cloud_name: 'aaa',
      api_key: 'xxx',
      api_secret: 'xxxxxdd'
    });
    
    app.post('/upload', multipartMiddleware, function(req, res) {
      cloudinary.v2.uploader.upload(req.files.image.path,
      {
        ocr: "adv_ocr"
      }, function(error, result) {
          if( result.info.ocr.adv_ocr.status === "complete" ) {
            res.json(result); //    result.info.ocr.adv_ocr.data[0].textAnnotations[0].description (more specific)
        }
      });
    });
    
    const port = 3000;
    app.listen(port, () => console.log(`Listening in port ${port}...`));
    

    现在,您只能使用nodemon server.js运行代码。