J'ai eu le même problème et je l'ai résolu en utilisant grunt-regarder et grunt-pour toujours avec des voiles@bêta tâches. Le résultat est de 4 grunt commandes:
Mise à JOUR: les tâches sont disponibles dans le courant de voiles version (il n'est plus en bêta :>)
-
start Démarre le serveur
-
stop Arrête le serveur
-
redémarrez Redémarre le serveur
-
startWatch Démarre le serveur et attend des changements pour le redémarrer (à l'aide de grunt-montre). C'est probablement votre solution, mais les autres commandes sont également utiles.
Voici le code que j'utilise des voiles@bêta, qui comprend l'une des tâches de répertoire, je ne sais pas si c'est inclus dans les versions précédentes:
-
Tout d'abord, vous devez installer pour toujours dans vos voiles répertoire:
npm install grunt-forever --save-dev
-
tasks/config/forever.js Configurer jamais tâche.
module.exports = function(grunt) {
grunt.config.set('forever', {
server: {
options: {
index: 'app.js',
logDir: 'logs'
}
}
});
grunt.loadNpmTasks('grunt-forever');
};
-
tasks/config/watch.js (edit) Modifier montre tâche pour ajouter une nouvelle règle
// api and assets default rules
,
server: {
// Server files to watch:
files: [
'api/**/*',
'config/**/*'
],
// Restart server
tasks: ['forever:server:restart']
}
-
tasks/register/watchForever.js Inscrire vos tâches personnalisées (ce fichier peut être renommé à ce que vous voulez)
module.exports = function(grunt) {
// Starts server
grunt.registerTask('start', [
'compileAssets',
'linkAssetsBuild',
'clean:build',
'copy:build',
'forever:server:start'
]);
// Restarts the server (if necessary) and waits for changes
grunt.registerTask('startWatch', [
'restart',
'watch:server'
]);
// Restarts server
grunt.registerTask('restart', [
'forever:server:restart'
]);
// Stops server
grunt.registerTask('stop', [
'forever:server:stop'
]);
};
Avec cela, vous devriez être en mesure d'utiliser
grunt startWatch
et faire de votre serveur attendre des modifications à être redémarré :>
Espérons que cela a aidé!