Nodemon not reloading. What's wrong with this nodemon.json file
Asked Answered
M

3

25

This is my nodemon.json

{ 
    "watch": ["src/**/*.ts"],
    "exec": "node out/index.js" 
}

I run the nodemon by executing:

nodemon

In root nodejs directory

This is output:

 % nodemon                                                                                                     
[nodemon] 1.11.0                                                                                
[nodemon] to restart at any time, enter `rs`                                                                                                                       
[nodemon] watching: src/**/*.ts                                                                                                                       
[nodemon] starting node out/index.js
Yay! Started app!

But when I edit any ts file in src nodemon doesn't restart the app.

UPDATE

Running nodemon --watch src/index.ts --exec 'node out/index.js'

Works and reloads the app on modifying index.ts

However, running with wildcard

nodemon --watch 'src/**/*.ts' --exec 'node out/index.js'

or

nodemon --watch src --exec 'node out/index.js'

Doesn't reload the app.

Mulciber answered 5/5, 2017 at 11:24 Comment(2)
You will need a ts-node package. Refer: #37979989Brigand
I have started with the link you provided, but it doesn't work for me, therefore I started simplifiying the script and eventually ended up with that one. But it also doesn't workMulciber
M
75

Solved!

By running nodemon in verbose mode I have discovered that by default it watches only *.js files, regardless of what wildcard you are watching. Therefore adding -e ts to the command fixes the problem:

nodemon --watch src/ --exec 'node out/index.js' -e ts

If someone uses nodemon.json here is mine after fix:

{ 
    "watch": ["src"],
    "exec": "tsc && node out/index.js" ,
    "ext": "js, json, ts, proto"
}
Mulciber answered 5/5, 2017 at 12:7 Comment(2)
Watching for js files in the out directory would make more sense if you're executing node out/index.jsAirliner
nodemon.json { "watch": ["src/*", "package.json"], "ext": "ts js json" } in package.json { "scripts": { "start": "nodemon -r source-map-support/register ." }, } when run with yarn start you will get $ nodemon -r source-map-support/register . [nodemon] 2.0.7 [nodemon] to restart at any time, enter rs [nodemon] watching path(s): src/**/* lb3app/server/**/* package.json [nodemon] watching extensions: ts,js,json [nodemon] starting node -r source-map-support/register . Server is running at http://127.0.0.1::3000Oligarchy
K
0

I didn't have any luck with src/ watching either. I'm watching files via nodemon --watch '**/*' this will finds any changes in the nested files

Kenny answered 8/2, 2023 at 14:54 Comment(0)
B
-1

Use single quotation for multi-value args like `--exec' in the package.json script.

e.g. I changed "nodemon --exec npm run build-langs" to "nodemon --exec 'npm run build-langs'" and worked.

Blevins answered 6/12, 2020 at 8:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.