Nodemon в виртуальной машине не видит изменений при редактировании файла с хост-компьютера

У меня есть приложение node, которое я запускаю на виртуальной машине (Virtualbox, Vagrant, Ubuntu), используя nodemon для целей разработки.

Файлы расположены в общей папке vagrant.

Когда я изменяю файл приложения js внутри виртуальной машины, nodemon перезапускает приложение node. Но когда я меняю тот же файл с хост-компьютера (Max OS X Yosemite) - приложение не перезагружается.

В аналогичной ситуации, когда на хосте была Windows 10 - все работало нормально.

Запускаю нодмон через Grunt с конфигом

module.exports = function (grunt) {

    var cfg = {

        pkg: grunt.file.readJSON('package.json'),

        nodemon: {
            dev: {
                script: 'src/server.js'
            },
            options: {
                nodeArgs: ['--harmony'],
                ext: 'js,json,hbs',
                ignore: [
                    'public/**',
                    'node_modules/**',
                    '.git/**'
                ]
            }
        }
    };

    grunt.initConfig(cfg);

    grunt.loadNpmTasks('grunt-nodemon');

    grunt.registerTask('default', ['nodemon']);

};

Или напрямую nodemon ./src/server.js localhost 3000

Что мне не хватает?


person SmxCde    schedule 17.12.2015    source источник
comment
где установлен нодмон?   -  person defau1t    schedule 17.12.2015
comment
Он установлен в виртуальной машине: узел находится в каталоге /node, поэтому nodemon находится в /node/lib/node_modules/nodemon. Это видно, если вы выполняете, если из консоли: nodemon -v приводит к: 1.8.1   -  person SmxCde    schedule 17.12.2015
comment
В качестве обходного пути вы можете попробовать просмотреть файлы на наличие изменений на хост-компьютере и найти способ удаленного перезапуска сервера: stackoverflow.com/questions/36995590/   -  person Ates Goral    schedule 03.05.2016


Ответы (1)


Попробуйте использовать параметр -L для параметра конфигурации nodemon или Grunt legacyWatch: true в разделе options.

Подробности можно найти здесь.

person Pavel    schedule 17.12.2015
comment
Флаг -L потреблял слишком много ресурсов процессора для меня. - person Ates Goral; 03.05.2016
comment
что делает флаг -L. или что такое legacy watch - person Ahmed Nawaz Khan; 20.08.2017
comment
Если вы не хотите использовать опрос, вам нужно рассмотреть другие инструменты, такие как github.com/AgentCosmic/xnotify который был разработан для работы с бродягами - person Dalton Tan; 24.06.2019