我是nodejs的新手,这是我第一次使用nodemon。我在windows上使用nodejs。我的package.json
文件中有以下内容
"scripts": {
"start": "nodemon ./bin/www"
}
我从命令行使用npm start
来启动我的快递应用程序。该过程以一个令人讨厌的默认端口开始。但更令人讨厌的是,每次我更改文件nodemon都会重新启动应用程序,有时候会使用完全不同的随机端口号。我尝试将script
文件中的package.json
部分更改为以下内容,但这没有任何区别
"scripts": {
"start": "nodemon ./bin/www 3000"
},
答案 0 :(得分:1)
从评论看来,您通过env变量指定端口,让我们称之为EXPRESS_PORT。当您使用npm启动它时,节点进程不会继承它,因为npm start
会创建一个具有自己环境的新shell。所以你最终通过端口undefined
来表达。这使它绑定到随机自由端口。要解决此问题,您可以在启动命令中设置变量:
"scripts": {
"start": "EXPRESS_PORT=3000 nodemon ./bin/www"
}
或者您可以使用export EXPRESS_PORT=3000
从shell导出它,然后运行npm start
。如果您这样做,则需要确保在启动服务器之前始终导出,因此您可能希望将导出放在~/.profile
或~/.bashrc
中。