我有一项服务,我希望尽可能经常地跟上并重新启动它需要几秒钟,更不用说中断任何正在进行的进程。如果我对文件做了一些小改动并希望重新加载,我可以用eval()代码做什么代码?
例如,如果我有rng.js
module.exports = function() {
return Math.floor(Math.random() * 4);
}
并在另一个文件中,index.js
const rng = require('./rng.js');
console.log(rng());
如果我将rng.js中的4更改为3,显然实时代码仍然使用4,所以它不会改变,所以如何重新加载文件,假设我可以访问eval()而脚本正在运行?
答案 0 :(得分:0)
对于给定的示例,在节点中,您可以传递运行时参数。
node index.js 5(此处为5是运行时参数)
index.js
JSONObject jObj = new JSONObject(result);
JSONArray rows = jObj.getJSONArray("rows");
JSONObject row = rows.getJSONObject(0);
JSONArray elementsArray = row.getJSONArray("elements");
JSONObject element = elementsArray.getJSONObject(0);
JSONObject distance = element.getJSONObject("distance");
String est = distance.getString("text");
String vals = distance.getString("value");
rng.js
const rng = require('./rng.js');
var command = process.argv[2];
console.log(command);
console.log(rng(process.argv[2]));
或者您可以使用https://www.npmjs.com/package/nodemon加载实时更改。