Nodemon:节点未运行

时间:2019-03-01 23:28:04

标签: node.js nodemon

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

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

我收到这些消息,但http://localhost:3000上的网站未运行。

  

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

     

[nodemon]监视: [nodemon]启动`node ./server.js localhost

     

3000` [nodemon]干净退出-等待更改,然后重新启动

我在做什么错了?

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)
        }
    });
});

我正在尝试通过发帖请求与邮递员进行测试,但我得到:Could not get any response

2 个答案:

答案 0 :(得分:1)

您的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运行代码

答案 1 :(得分:1)

您需要在代码中添加app.listen行,以使程序保持运行状态并监听请求。当前节点仅运行文件,并且由于没有任何措施可以使程序在文件末尾运行,因此该程序立即退出。

您可以在文件底部添加如下一行:

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

然后使用以下命令运行文件:

nodemon ./server.js