Kod

Moje ostatnie zatwierdzenie jest w Repo na GitHub.

Problem...

Ustanawiam projekt (link powyżej) za pomocą GRUNTJS. Próbując uruchomić dowolny grunt, otrzymuję No "<insert-taskname>" targets found; Kilka przykładów:

  1. .

    nie znaleziono celów "Browsersync". OSTRZEŻENIE: Zadanie "Browsersync" nie powiodło się. Użyj --force do kontynuowania.

  2. .

    nie znaleziono celów "jshint". OSTRZEŻENIE: Zadanie "jshint" nie powiodło się. Użyj --force do kontynuowania.

  3. .

    znaleziono żadnych celów "Sass". OSTRZEŻENIE: Zadanie "Sass" nie powiodło się. Użyj --force do kontynuowania.

Co ja robię

Używam plików konfiguracyjnych zewnętrznych podłącz. Bez problemów wykorzystałem bardzo podobną konfigurację w innych projektach. Przechodzę wspólne zmienne gruntów, które zostały zainicjowane w każdym z plików grunt-configs za pomocą obiektu options, który jest częścią wtyczki load-grunt-configs.

Czego próbowałem do tej pory ...

Próbowałem sprawdzić moich zmiennych Gruntów, które są używane w zewnętrznych plikach konfiguracyjnych, podwójnie sprawdzając moje dopasowanie składni i wspornik i wyszukiwanie przez inne pytania o przepełnienie stosu bez szczęścia.

Każda pomoc byłaby bardzo doceniana! Dziękuję Ci.

5
user3773571 16 sierpień 2014, 22:58

1 odpowiedź

Najlepsza odpowiedź

Zalecam użycie idiomatycznych i wbudowanych metod rozbijania swojego gruntfile. Solutions 3RD Party mają tendencję do zbłądzenia daleko od Gruntów API.

Utwórz folder o nazwie tasks/ i w tym folderze Dodaj pliki podobne do tego, co obecnie robisz.

Załaduj wszystkie te pliki w głównym GRUNTFILE za pomocą grunt.loadTasks():

// Gruntfile.js
module.exports = function(grunt) {
  // Initialize config.
  grunt.initConfig({
    pkg: require('./package.json'),
  });

  // Load per-task config from separate files.
  grunt.loadTasks('tasks');
};

Każdy z tych plików jest sformatowany jak mini gruntfiles. Oto przykład dla jshint:

// tasks/jshint.js
module.exports = function(grunt) {
  grunt.config('jshint', {
    app: {
      options: {jshintrc: 'app/.jshintrc'},
      src: ['app/**/*.js'],
    },
  });
  grunt.loadNpmTasks('grunt-contrib-jshint');
};

Oto pełny przykład tego rozwiązania od samego stwórcy Greet: https://github.com/cowboy/wesbos .

3
Kyle Robinson Young 16 sierpień 2014, 19:18