Есть ли способ изменить node.js во время его работы?Есть ли способ изменить node.js во время его работы?
Как редактировать javascript-файлы во время его работы, а затем он изменяется соответствующим образом во время его работы.
Есть ли способ изменить node.js во время его работы?Есть ли способ изменить node.js во время его работы?
Как редактировать javascript-файлы во время его работы, а затем он изменяется соответствующим образом во время его работы.
Нет, это невозможно. Когда вы запускаете сервер/приложение Node, он будет загружаться в текущие версии файлов. Если вы внесете изменения после запуска, это не будет известно. Вам придется убить приложение и перезапустить, чтобы эти изменения повлияли.
Есть некоторые утилиты, такие как node-dev, которые делают это за вас. Они отслеживают файловую систему для внесения изменений и перезапускают приложение по мере необходимости (наряду с некоторыми другими функциями, такими как уведомление о ворчании).
Я предпочитаю перезагружать приложение вручную. Таким образом, вы точно знаете, какая версия работает, и несколько раз можете сохранить изменения в файле, прежде чем принимать решение о повторном тестировании.
Да.
Вам придется загрузить файл через другой файл, который следит за сценариями изменений. Вероятно, вам понадобится код установки/разрыва, который запускается в скрипте всякий раз, когда он перезапускается.
var fs = require('fs');
var file = 'file.js';
var script;
function loadScript() {
if (script) {
if (typeof script.teardown === 'function') {
script.teardown();
}
delete require.cache[file];
}
script = require(file);
}
fs.watch(file, function(event, filename) {
if (event !== 'change') return;
loadScript();
});
loadScript();
fs.watch API не 100% соответствует на разных платформах, и недоступна в некоторых ситуациях.
Вы проверили Node-supervisor
Это вполне возможно.
Просто не требуйте своих модулей в заголовке; вместо этого загрузите их, позвонив во время потребности.
Кроме того, вы также можете позвонить require.undef('./myModule')
, чтобы вырезать существующие версии, прежде чем включать новый модуль. Вы можете сканировать файловую систему для любых новых имен модулей, если вам хочется сбросить новое поведение во время выполнения.
Я неоднократно реализовывал шаблон плагина с узлом, так что обновление подмодуля будет включать новые плагины, которые будут отобраны во время выполнения.
Наслаждайтесь.
Вы можете использовать nodemon.
nodemon будет следить за файлами в каталоге, в котором запускался nodemon, а при любых изменениях файлов nodemon автоматически перезапустит ваше приложение-приложение.
Идеальное решение для работы с узлом во время разработки.
Возможный дубликат http://stackoverflow.com/questions/6310722/refresh-node-js-script –