Nodemon:节点未运行

Posted

技术标签:

【中文标题】Nodemon:节点未运行【英文标题】:Nodemon : node not running 【发布时间】:2019-07-24 00:30:37 【问题描述】:

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

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

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

【nodemon】1.18.10【nodemon】随时重启,输入rs

[nodemon] 观看:. [nodemon] 启动`node ./server.js localhost

3000` [nodemon] clean exit - 在重启前等待更改

我做错了什么?

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

【问题讨论】:

您是否在启动应用程序之前运行了npm install?您需要确保在运行应用程序之前下载并安装您正在使用的依赖项。 【参考方案1】:

您需要在代码中添加app.listen 行,以便程序继续运行并侦听请求。目前 node 只是运行文件,由于文件末尾没有任何东西保持程序运行,程序立即退出。

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

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

然后运行文件:

nodemon ./server.js

【讨论】:

【参考方案2】:

您的 server.js 文件结束,因此您从 node 收到一条干净的退出消息。您需要做的是在 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 运行您的代码

【讨论】:

我已经添加了 server.js 文件

以上是关于Nodemon:节点未运行的主要内容,如果未能解决你的问题,请参考以下文章

Nodemon [filename.js]返回bash:nodemon:命令未找到

Linux VM/nodejs 问题:Nodemon、Coffee 等未执行

Docker - /bin/sh: nodemon: 未找到

无法在使用 Typescript 的节点项目构建中运行 Nodemon(在 Windows 中)

在与 nodemon 相关的 heroku 触发错误上部署节点应用程序

Grunt 中类似 Nodemon 的任务:执行节点进程并观察