J'ai passé plus d'une heure sur celui-ci, j'ai parcouru plusieurs questions, mais la réponse est introuvable.Grunt ne regarde pas les fichiers JS
Je rencontre un problème lors de l'utilisation de la surveillance sur mes fichiers javascript. Tous les autres fichiers sont surveillés et les tâches sont exécutées correctement.
Si j'exécute la valeur par défaut depuis le début, concat et uglify fonctionnent parfaitement bien, mais si j'apporte des modifications à un fichier js, watch l'ignorera complètement.
Ceci est mon fichier:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
index: {
src: ['js/shared/*.js', 'js/index/*.js'],
dest: 'js/concat/index.js',
},
page: {
src: ['js/shared/*.js', 'js/page/*.js'],
dest: 'js/concat/page.js',
},
},
uglify: {
dist: {
files:{
'js/build/index.min.js': 'js/concat/index.js',
'js/build/page.min.js': 'js/concat/page.js',
}
}
},
sass: {
options: {
outputStyle: 'compressed',
},
dist: {
files: {
'css/main-unprefixed.css': 'sass/main.scss'
}
}
},
autoprefixer: {
global: {
src: 'css/main-unprefixed.css',
dest: 'css/main.css'
}
},
jade: {
compile: {
options: {
pretty: true
},
files: [{
expand: true,
cwd: '',
src: [ '_layouts/jade/*.jade' ],
dest: '_layouts',
flatten: true,
ext: '.html'
}]
}
},
shell: {
jekyllServe: {
command: "jekyll serve --no-watch"
},
jekyllBuild: {
command: "jekyll build"
}
},
open : {
build: {
path: 'http://localhost:4000',
app: 'Firefox'
}
},
watch: {
options: {
livereload: true
},
site: {
files: ["*.html", "**/*.html", "*.md", "**/*.md", "**/*.yml", "*.yml", "!_site/*.*", "!_site/**/*.*"],
tasks: ["shell:jekyllBuild"]
},
scripts: {
files: ["js/*.js", "js/**/*.js"],
tasks: ["concat", "uglify", "shell:jekyllBuild"]
},
jade: {
files: ["_layouts/jade/*.jade"],
tasks: ["jade"]
},
css: {
files: ["sass/*.scss", "sass/**/*.scss", "sass/**/**/*.scss"],
tasks: ["sass", "autoprefixer", "shell:jekyllBuild"]
}
}
});
require('load-grunt-tasks')(grunt);
// Default task(s).
grunt.registerTask("serve", ["shell:jekyllServe"]);
grunt.registerTask("default", ["open", "concat", "uglify", "sass", "autoprefixer", "jade", "shell:jekyllBuild", "watch"]);
};
Toute aide est très appréciée.
Dans la tâche de surveillance, essayez d'utiliser ce modèle: 'files: ['js/{, * /} *. Js']' au lieu de 'files: [" js/*. Js "," js/**/*. js "]'? –
@TonyBarnes Essayé, la tâche de surveillance n'enregistre toujours aucune modification. – KreaTief
Est-ce que ce sont simplement les scripts qui ne sont pas surveillés - les fichiers HTML et CSS fonctionnent-ils correctement? De toute évidence, il est difficile de déboguer sans la base de code. J'essaierais peut-être de séparer la tâche 'watch' de la tâche' default' et de déboguer à partir de là. –