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 中)