我有一个简单的js文件与http模块来测试Hello node
的nodejs....
下面是http_test.js
文件
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200);
res.end('hello node');
}).listen(8080);
node http_test.js
在浏览器上打印得很好...现在如果我把我的响应行改成res.end('changed hello node to hello stoner');
,我仍然会在我的页面上得到以前的hello node
...
要获取更改的行,我必须结束node的当前示例,然后再次运行node http_test.js
如果我对js文件做了任何更改,我应该重新启动吗?
难道不只是点击刷新我的浏览器做吗?
4条答案
按热度按时间ktca8awb1#
您需要停止并重新运行服务器以查看最新更新。要自动执行此操作,可以使用
nodemon
,执行npm i nodemon -g
然后运行
nodemon http_test.js
现在,对于您对
http_test.js
所做的每个更改,服务器都将自动重新启动xn1cxnb42#
1)安装nodemon。要安装,请从终端运行:
npm install -g nodemon
2)现在,进入终端,在那里你有程序。然后,快跑
nodemon http_test.js
现在,每次当你对你的应用程序进行更改时,只要保存你的更改,它就会得到反映。
详细信息:-
Nodemon是一个实用程序,它将监视源代码中的任何更改并自动重新启动服务器。非常适合发展。使用npm安装。
只需使用nodemon而不是node来运行您的代码,现在您的进程将在您的代码更改时自动重新启动。
请参考:-
http://nodemon.io/
https://github.com/remy/nodemon
1cklez4t3#
您必须重新启动服务器,因为文件已加载到内存中。或者你可以使用nodemon,当你改变文件时,它会自动重启你的服务器。
q5lcpyga4#
我为这种情况创建了一个nodejs加载器:https://github.com/braidnetworks/dynohot
在这种情况下,您可以按如下方式修改程序:
您可以通过
node --loader dynohot http_test.js
运行应用程序。确保首先将"type": "module"
添加到package.json文件中。之后,如果您将字符串修改为'hello node 2'并在浏览器中刷新,您将看到新文本。与nodemon相比,dynohot的优势在于它可以只重新加载应用程序中发生更改的部分,而无需重新启动进程。对于较大的应用,React性的改善是非常显著的。