2016-02-02 5 views
1

Очень новый способ использования Grunt так голый со мной. Я использую grunt-contrib-watch и этот возвышенный пакет sublime-grunt.Grunt kill watch session & use variables в именах файлов grunt

  1. Я использую пакет sublime-grunt, чтобы начать сеанс просмотра и загрузку с расширением Chrome. Все работает отлично, но как только начинается сеанс «часов», какая команда останавливает/убивает/отменяет часы. Я попытался использовать команду в пакете sublime-grunt под названием «Grunt Kill Running Processes», и он сообщает мне, что что-то было отменено, но если я изменил свой файл style.scss и сохранил его, он компилируется и обновляется на моей странице html, поэтому «смотреть» все еще действует. Прямо сейчас я должен закрыть Sublime Text, чтобы убить сеанс 'watch'.

  2. Я пытаюсь использовать переменную для пути к корневому каталогу темы, но когда я пытаюсь конкатрировать переменную со строкой, я получил эту ошибку. Какой тип синтаксиса я должен использовать, мне нужно создать переменную в файле package.json?

Код

var theme_path = 'wp-content/themes/twentyfifteen/'; 

    // Sass plugin 
    sass: { 
     dist: { 
      files: { 
       theme_path + 'style.css': theme_path + 'sass/style.scss', 
      } 
     } 
    }, 

    // Error 
    Loading "Gruntfile.js" tasks...ERROR 
    >> SyntaxError: C:\wamp\www\grunt\Gruntfile.js:31 
    >>          theme_path + 'style.css': 'wp-content/th 
    emes/twentyfifteen/sass/style.scs 
    >>            ^
    >> Unexpected token + 
    Warning: Task "default" not found. Use --force to continue. 

Вот мои Gruntfile.js:

module.exports = function(grunt) { 

    // Theme Directory Path 
    var theme_path = 'wp-content/themes/twentyfifteen/'; 

    // Configure main project settings 
    grunt.initConfig({ 

     // Basic settings and info about our plugins 
     pkg: grunt.file.readJSON('package.json'), 

     // Watch Plugin 
     watch: { 
      sass: { 
      files: 'wp-content/themes/twentyfifteen/sass/*.scss', 
      tasks: ['sass','postcss','uglify'], 
      options: { 
       livereload: true, 
      }, 
      }, 
     }, 

     // Sass plugin 
     sass: { 
      dist: { 
       files: { 
        'wp-content/themes/twentyfifteen/style.css': 'wp-content/themes/twentyfifteen/sass/style.scss', 
       } 
      } 
     }, 

     // Postcss plugin 
     postcss: { 
      options: { 
       map: true, // inline sourcemaps 

       // or 
       map: { 
        inline: false, // save all sourcemaps as separate files... 
       }, 

       processors: [ 
       require('pixrem')(), // add fallbacks for rem units 
       require('autoprefixer')({browsers: 'last 2 versions'}), // add vendor prefixes 
       require('cssnano')() // minify the result 
       ] 
      }, 
      dist: { 
       src: 'wp-content/themes/twentyfifteen/style.css' 
      } 
     }, 

     // Minify JS Uglify 
     uglify: { 
      dist: { 
       files: { 
        'wp-content/themes/twentyfifteen/js/functions.min.js': ['wp-content/themes/twentyfifteen/js/functions.js'] 
       } 
      } 
     } 

    }); 

    // Load the plugin 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-contrib-sass'); 
    grunt.loadNpmTasks('grunt-postcss'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 

    // Run plugin 
    grunt.registerTask('default', ['watch']); 

}

ответ

0

Я думаю, что варианты задачи не могут быть назначены переменной, я не есть какой-либо источник на данный момент, но я могу предложить другой способ сделать это:

вы можете использовать задачи Титулы:

watch: { 
    sass: { 
     files: '<%= grunt.task.current.args[0] %>/sass/*.scss', 
     tasks: ['sass:<%= grunt.task.current.args[0] %>','postcss','uglify'], 
     options: { 
      livereload: true, 
     }, 
    }, 
}, 
sass: { 
     dist: { 
      files: { 
       '<%= grunt.task.current.args[0] %>/style.css': '<%= grunt.task.current.args[0] %>/sass/style.scss', 
      } 
     } 
}, 

и чем

grunt.registerTask('default', ['watch:'+theme_path]); 

Это проблема, которую я уже встречаются, чтобы сделать динамические задачи часы

 Смежные вопросы

  • Нет связанных вопросов^_^