开发者

Should node.js changes be instantaneous?

开发者 https://www.devze.com 2023-03-12 05:43 出处:网络
Seeing how node.js is ultimately javascript, shouldn\'t changes to any files be seen when trying to run the app command?I\'ve forked the yuidocjs repo on github and am trying to work my way through my

Seeing how node.js is ultimately javascript, shouldn't changes to any files be seen when trying to run the app command? I've forked the yuidocjs repo on github and am trying to work my way through my local build, but for some reason my minor changes do not get picked up. I'm new to node.js so I'm not really sure开发者_运维问答 what the exact conventions are.


In node.js when you require a file the source code gets interpreted. It's considered good practice to require all code when you start the server so all the code gets interpreted once.

The code does not get re-interpreted whenever you run it though.

So changes are not instantaneous.

To help you out, try supervisor which does hot reloading of the server on code changes.

It is possible to make instant changes happen by re-interpreting source code but that is not the default action. Generally you should just re-start the server.


Also see nodemon which will automagically reload changed files under it's authority.

EDIT

Rereading your question, it appears you are asking about the following scenario:

  1. Run app to test
  2. Quit app to refactor js code
  3. Restart app

And you're asking why your changes do not appear at step 3?

If this is the case, you are seeing something very strange which might be related to how and from where files are being required.

In node, run:

console.dir(require.paths);

To see where node is looking for any resources you are requiring. If there is a copy of the file you're changing in any of the paths listed which is not the file you're editing, this would explain your problem.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号