Well I just wanted to know is there any command which will directly compile the typescript code and get the output. Right now, what i am doing is,every time when i make changes in the file i have to re run the command inorder to compile it
npm start
This starts the browser and then i have to stop the execution using ctrl + c and then i have to run the file using the npm command
node filename
to see the output.
So what i want to know is, is there any npm command which will compile the .ts file and see the changes which i have made in the file while i run the file using the
node filename
command
You can launch the
tsc
command (typescript compiler) with--watch
argument.Here is an idea :
tsconfig.json
filetsc --watch
, so every time you change a.ts
file,tsc
will compile it and produce the output (let say you configured typescript to put the output in./dist
folder)nodemon
to watch if files in./dist
have changed and if needed to relaunch the server.Here are some scripts (to put in
package.json
) that can help you to do it (you will need to install the following modulesnpm install --save typescript nodemon npm-run-all rimraf
)Then you just need to run
npm start
in a terminalHere is my approach, let say that you keep all your
typescript
files insrc
folder and want outputtedjavascript
files be generated in the./dist
folder.and typescript configuration file
tsconfig.json
Okay, what is going on here
First of all we should create
tsconfig.json
and tell typescript to put compiled files into the./dist
folder and at the same time we should excludenode_module
folder or whatever we want and include everything from["./src/**/*"]
directory.After that in
packages.json
file we should specify path to our compiledindex.js
fileand finally we tell
tsc
to--watch
anytypescript
changes, andnodemon
to watch inside./dist
directory and if something changesnodemon
will restart the server.To run script type
npm run dev
This is based on solution proposed by @ThomasThiebaud. I had to modify it a little to make sure the files are built in
dist/
before nodemon tries to start the server.You still need to run
npm start
to start the whole thing.