我正在运行npm start
的nodejs应用程序
我刚刚通过sudo npm install -g nodemon
安装了nodemon,这样当我保存对文件的更改时,我可以重启我的服务器。
但是当我尝试启动服务器时,就像这样
nodemon ./app.js localhost 3000 or nodemon start localhost 3000
我把它作为输出
LM-SJC-00871929:webapp gdeep$ nodemon ./app.js localhost 3000
28 May 23:34:30 - [nodemon] v1.1.1
28 May 23:34:30 - [nodemon] to restart at any time, enter `rs`
28 May 23:34:30 - [nodemon] watching: *.*
28 May 23:34:30 - [nodemon] starting `node ./app.js localhost 3000`
但是当我去我的网页时,我明白了
Oops! Google Chrome could not connect to localhost:3000
。我究竟做错了什么?
App.js在这里http://collabedit.com/t35dy
你正在运行express 4,它在与app.listen
不同的文件中调用app.js
。您正在寻找的命令是nodemon bin/www
(在这种情况下不需要localhost
和3000
)。
实际上,你甚至可以运行没有args的nodemon
,并且它会读取需要在scripts.start
中运行package.json
的命令(表示自动生成)。
如果您使用的是express4,最简单的方法是导航到package.json并更改
"scripts": {
"start": "node ./bin/www"
}
到
"scripts": {
"start": "nodemon ./bin/www"
}
在代码中添加以下代码
app.js
app.listen(3000, function(){
console.log("info",'Server is running at port : ' + 3000);
});
package.json
nodemon app.js
然后从命令行运行npm start
。
尝试运行nodemon ./app.js 3000 or nodemon start 3000
就我而言,我必须全局安装nodemon。使用此命令执行此操作..
npm install -g nodemon
如果您使用的是Linux,则可能需要在命令前添加sudo关键字以进行管理访问。
sudo npm install -g nodemon
对于Express.js 4, 使用nodemon 要么 nodemon bin / www
这是我为正确更新nodemon所做的工作:
nodemon index.js -L
-L
标志代表legacyWatch,这是来自官方文档的解释:https://www.npmjs.com/package/nodemon#application-isnt-restarting
对于Express 4;赶紧跑
nodemon
命令(没有任何args)在目录上;这对我有用。
您可能还会遇到空.nodemonignore
的问题。
谢谢你需要输入后输入文件夹应用程序
cd your_project_folder
sudo nodemon bin/www