index.js 文件更改后,Nodemon 不会重新启动

Nodemon does not restart when index.js file is changed

这是来自 package.json 的部分:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "dev": "nodemon --watch app index.js"
  },

除了 index.jspackage.jsonnode_modules 之外,我的所有代码都位于名为 app.

的子文件夹中

当我 运行 使用 npm run dev 时,nodemon 会监视 app 文件夹中的变化,并在有任何变化时重新启动。但是,如果我在 index.js(入口点)

中进行任何更改,则不会重新启动

我的文件夹结构:

|-- app/
|-- node_modules/
|index.js      <--- nodemon not watching this file
|package.json
|package-lock.json

为什么会这样?


编辑:

这是解决方案(来自@Pedro Filipe):

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

Nodemon 检测到文件中的更改并自动重新启动它。

目前,您正在向 运行 节点请求 index.js 文件,无论何时您想要反映您的更改都需要重新启动。

您需要做的就是更改“启动”命令。

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

Nodemon 关注 entry-point 您的项目。 其中,在几乎所有节点项目的情况下,最终导入其他文件等等的单个文件。

(假设您的 entry-pointindex.js,即您正在其中导入其他文件。)您可以简单地使用 nodemon index.js 作为 [=15 的脚本=]

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

如果您要将文件导入 index.js,我认为您只需要执行 nodemon index.js 即可观看您感兴趣的文件。我怀疑当你传递标志 --watch [folder_name] 时,它基本上只是忽略你之后传递的文件名。

Nodemon 检测到文件中的更改并自动重新启动它。

目前,您正在向 运行 节点请求 index.js 文件,无论何时您想要反映您的更改都需要重新启动。

您需要做的就是更改“启动”命令。

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "dev": "nodemon index.js"
}

(之前评论过这个答案)