Note that there are some explanatory texts on larger screens.

plurals
  1. POGruntjs: How to make copy task to copy only changed files on watch
    primarykey
    data
    text
    <p>So on grunt-contrib-watch plugin info page, there is an example on how to make jshint run only for changed file.</p> <pre class="lang-js prettyprint-override"><code>grunt.initConfig({ watch: { scripts: { files: ['lib/*.js'], tasks: ['jshint'], options: { nospawn: true, }, }, }, jshint: { all: ['lib/*.js'], }, }); grunt.event.on('watch', function(action, filepath) { grunt.config(['jshint', 'all'], filepath); }); </code></pre> <p>I have not tested example it self. But took this and applied to my copy task, unsuccessfully. grunt-contrib-copy task set up to copy images and templates for my angular project. And I would be happy to know if I can make this work for copy task and if I can, what am I doing wrong.</p> <p>Thank you so much.</p> <p>Here is my stripped out Gruntfile.js.</p> <pre class="lang-js prettyprint-override"><code>// Build configurations. module.exports = function(grunt){ // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), // Copies directories and files from one location to another. copy: { // DEVELOPMENT devTmpl: { files: [{ cwd : 'src/tpl/', src : ['**/*'], dest : 'app/tpl/', flatten : false, expand : true }] }, devImg: { files: [{ cwd : 'src/img/', src : ['**/*'], dest : 'app/img/', flatten : false, expand : true }] } }, // Watch files for changes and run tasks watch: { // Templates, copy templates: { files : 'src/tpl/**/*', tasks : ['copy:devTmpl'], options: { nospawn: true, } }, // Images, copy images: { files : 'src/img/**/*', tasks : ['copy:devImg'], options: { nospawn: true, } } } }); // Watch events grunt.event.on('watch', function(action, filepath) { // configure copy:devTmpl to only run on changed file grunt.config(['copy','devTmpl'], filepath); // configure copy:devImg to only run on changed file grunt.config(['copy','devImg'], filepath); }); // PLUGINS: grunt.loadNpmTasks('grunt-contrib-copy'); // TASKS: /* DEV: Compiles the app with non-optimized build settings, places the build artifacts in the dist directory, and watches for file changes. run: grunt dev */ grunt.registerTask('dev', 'Running "DEVELOPMENT", watching files and compiling...', [ 'default', 'watch' ]); /* DEFAULT: Compiles the app with non-optimized build settings and places the build artifacts in the dist directory. run: grunt */ grunt.registerTask('default', 'Running "DEFAULT", compiling everything.', [ 'copy:devTmpl', 'copy:devImg' ]); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload