【问题标题】:nodemon not working properlynodemon 无法正常工作
【发布时间】:2014-07-18 14:18:22
【问题描述】:

我正在通过 npm start 运行我的 nodejs 应用程序

我刚刚安装了 nodemon sudo npm install -g 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

【问题讨论】:

  • 您的问题可能与 nodemon 无关。发布app.js的内容
  • 我刚刚添加了 app.js 作为问题的一部分。感谢您的帮助。
  • 运气好吗?我有同样的问题,“开始”但不工作

标签: node.js express nodemon


【解决方案1】:
  1. npm i nodemon
  2. 编辑您的Package.json 文件:- 将开始设置为nodemon
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon server.js"
}
  1. 运行npm start尝试服务器

【讨论】:

    【解决方案2】:

    single quotation 用于多值参数,例如 `--exec'。

    例如我将"nodemon --exec yarn build-langs" 更改为"nodemon --exec 'yarn build-langs'" 并工作。

    【讨论】:

      【解决方案3】:

      与您的父进程相关的某些子进程可能不会关闭。尝试杀死所有子进程。

      参考:https://github.com/remy/pstree

      【讨论】:

        【解决方案4】:

        这是我为正确更新 nodemon 所做的:

        nodemon index.js -L
        

        -L 标志代表 legacyWatch,以下是官方文档的解释:

        在某些网络环境中(例如运行 nodemon 的容器在已安装的驱动器上读取数据),您将需要使用 legacyWatch: true 来启用 Chokidar 的轮询。

        https://www.npmjs.com/package/nodemon#application-isnt-restarting

        【讨论】:

        • 像冠军一样工作!
        【解决方案5】:

        试试

        npm install --save-dev nodemon
        

        然后 在 package.json file 保持这样

        "scripts": {
            "start": "nodemon",
            "test": "echo \"Error: no test specified\" && exit 1"
          },
        

        而不是 npx nodemon,这需要更多时间

        【讨论】:

        • 还有其他答案和一个接受的答案提供了 OP 的问题,它们是前一段时间发布的。发布答案 see: How do I write a good answer? 时,请确保添加新的解决方案或更好的解释,尤其是在回答较老的问题时。
        【解决方案6】:

        如果您使用的是 express4,最简单的方法是导航到 package.json 并更改 "scripts": { "start": "node ./bin/www" }

        "scripts": { "start": "nodemon ./bin/www" }

        【讨论】:

          【解决方案7】:

          就我而言,我必须全局安装 nodemon。使用此命令执行此操作..

          npm install -g nodemon
          

          如果您使用的是 Linux,您可能需要在命令前加上 sudo 关键字才能进行管理访问。

          sudo npm install -g nodemon
          

          【讨论】:

            【解决方案8】:

            谢谢 您需要在使用

            进入文件夹应用程序后输入此内容

            cd your_project_folder

            sudo nodemon bin/www

            【讨论】:

              【解决方案9】:

              在您的代码中添加以下代码

              1. app.js

                app.listen(3000, function(){
                    console.log("info",'Server is running at port : ' + 3000);
                });
                
              2. package.json

                nodemon app.js 
                

              然后从命令行运行npm start

              【讨论】:

                【解决方案10】:

                您可能还会遇到.nodemonignore 为空的问题。

                【讨论】:

                  【解决方案11】:

                  对于 Express.js 4,
                  使用节点监视器

                  nodemon bin/www

                  【讨论】:

                    【解决方案12】:

                    对于 Express 4;跑吧

                    nodemon

                    目录上的命令(不带任何参数);这对我有用。

                    【讨论】:

                      【解决方案13】:

                      您正在运行 express 4,它的 app.listen 调用位于与 app.js 不同的文件中。您要查找的命令是nodemon bin/www(在这种情况下不需要localhost3000)。

                      事实上,你甚至可以不带args运行nodemon,它会从scripts.start中读取需要运行的命令package.json(express自动生成)。

                      【讨论】:

                      • 它有效。非常感谢。你能好心一点,解释一下那是怎么回事。我是nodejs的新手。如果您太忙而无法解释它的罚款,但任何指针或任何链接也会很棒。
                      • 如果您尝试仅使用 node 而不是 nodemon 运行 express 应用程序,您将收到相同的错误。从 express 4 开始,运行服务器的脚本实际上是在 bin/www 中(注意没有 .js 扩展名)。这个 www 文件读取你的 app.js config 并运行服务器。
                      • 另外值得补充的是,您可以只使用不带参数的 nodemon 运行基于 express 4 的应用程序,因为它会从 package.json 文件中变为红色并运行 scripts.start 选项。
                      • 哇,雷米夏普本人!我受宠若惊!我会将其添加到答案中。
                      【解决方案14】:

                      尝试运行nodemon ./app.js 3000 or nodemon start 3000

                      【讨论】:

                      • 这并不能解决他的问题。
                      • 是的,它没有。 @SomeKittensUx2666,你也面临同样的问题吗?
                      猜你喜欢
                      • 1970-01-01
                      • 2019-07-04
                      • 2016-12-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2016-09-01
                      • 2021-01-10
                      • 2012-07-11
                      • 2018-04-08
                      相关资源
                      最近更新 更多