Это мой файл Gruntfile. Я запускаю одновременно nodemon для запуска своего приложения и наблюдения за изменениями в моем coffeescript.Запуск grunt-nodemon после одновременного изменения файла
CoffeeScript принимает файлы в исходных текстах и превращает их в JS-файлы (в настоящее время 3, main.coffee, Person.coffee и Car.coffee)
Я хочу, чтобы мой Nodemon перезапустить каждый раз, как только эти изменения файлов, для запуска он с последними сохраненными изменениями.
В этом случае: Когда только 1 файл кофе модифицирован, работает кофе перекомпилирует все файлы кофе, которые, в свою очередь, сгенерируют 3 файла JS, что, в свою очередь, перезаписывает nodemon 3 раза. Это нежелательно, так как im работает в приложении, которое использует сетевые запросы, и я не хочу, чтобы он выходил из-под контроля.
Можно ли перезапустить nodemon только один раз?
Я думал о конкатенации всех JS-файлов, но это путает модульность моих JS-файлов.
Я также подумал о «просмотре» файлов 1 на 1, но это может стать громоздким, если я достиг 50 файлов.
Как я могу решить эту проблему?
module.exports = function(grunt) {
"use strict";
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
coffee: {
dist: {
join: true,
expand: true,
flatten: true,
cwd: 'src/dist',
src: ['*.coffee'],
dest: 'dist',
ext: '.js'
},
},
watch: {
dist: {
files: ['src/dist/**/*.coffee'],
tasks: 'coffee'
},
},
concurrent: {
dev: {
tasks: ['nodemon', 'watch'],
options: {
logConcurrentOutput: true
}
}
},
nodemon: {
dev: {
script: 'dist/main.js',
},
options:{
watch: "dist/**/*.js"
}
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-coffee');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-nodemon');
grunt.registerTask("default", ["coffee", "concurrent"]);
};
Решение ... даже если не самый лучший ... спасибо –
Вы можете, конечно, что-то ремесло обычай - но я не думаю, что 'черновую-nodemon' плагин имеет что-нибудь еще из коробка, которая решит это. Удачи! – jakerella