2013-12-20 2 views
2

Выходной файл Gruntfile является пустым файлом в public/assets/app.js. Часть Sass отлично работает, но JS-часть не работает.Grunt выводит пустой .js-файл после конкатенации

//Gruntfile 
module.exports = function(grunt) { 

    //Initializing the configuration object 
    grunt.initConfig({ 

    // Task configuration 
    sass: { 
     dist: { 
      options: { 
       style: 'compressed' 
      }, 
      files: { 
       './public/assets/app.css': './app/assets/scss/style.scss' 
      }, 
      noCache: true 
     } 
    }, 
    concat: { 
     options: { 
     separator: ';', 
     }, 
     dist: { 
     src: [ 
      './app/bower/jquery/jquery.js', 
      './app/assets/js/script.js' 
     ], 
     dest: './public/assets/app.js', 
     }, 
    }, 
    uglify: { 
     options: { 
     mangle: false 
     }, 
     dist: { 
     files: { 
      './public/assets/app.js': './public/assets/app.js', 
     } 
     }, 
    }, 
    jshint: { 
     all: ['Gruntfile.js', './public/assets/app.js'] 
    }, 
    watch: { 
     js: { 
      files: [ 
      './app/assets/bower/*.js', 
      './app/assets/js/*.js' 
      ], 
      tasks: ['jshint', 'concat', 'uglify'], 
      options: { 
      livereload: false 
      } 
     }, 
     sass: { 
      files: ['./app/assets/scss/*.scss'], 
      tasks: ['sass'], 
      options: { 
      livereload: false 
      } 
     } 
     } 
    }); 

    // Plugin loading 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-contrib-sass'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-jshint'); 

    // Task definition 
    grunt.registerTask('default', ['sass', 'jshint', 'concat', 'uglify', 'watch']); 

}; 

Но я не могу выяснить, что не так. Даже JShint не показывает ошибок. структура выглядит следующим образом: https://www.dropbox.com/s/y0t2tu0asotz0ex/Screenshot%202013-12-20%2020.49.54.png

+0

Обычно пустой файл CONCAT потому, что задача CONCAT не найти исходные файлы. Не видя структуру каталогов, трудно сказать, правильно ли ваш файл Grunt. – jakerella

+0

Это структура: https://www.dropbox.com/s/y0t2tu0asotz0ex/Screenshot%202013-12-20%2020.49.54.png – user1469734

+1

Можете ли вы успешно запустить 'grunt concat' с успехом? Или же результат? Я бы также попробовал использовать «app/bower/jquery/jquery.js'' (нет« ./ »впереди) - я знаю, это не имеет значения, но ... – jakerella

ответ

6

Принимая другой взгляд на вашей и структуру каталогов Gruntfile, я думаю, что у вас есть папки, указанные неправильно, Вы указываете источник как ./app/..., но если ваш Gruntfile находится в этой директории (app), то вам нужно будет запускать ваши задачи для ворчания оттуда, то есть он будет искать app/app/... (потому что он относится к текущему каталогу). Попробуйте это:

concat: { 
    options: { 
    separator: ';', 
    }, 
    dist: { 
    src: [ 
     'bower/jquery/jquery.js', 
     'assets/js/script.js' 
    ], 
    dest: 'public/assets/app.js', 
    }, 
}, 
+0

Uuuh ... любая причина для downvote здесь? – jakerella

0

Мое решение установить правильный путь файла: Scripts/libs/Timer.js - правильно, /Scripts/libs/Timer.js - пустой файл Scripts папка в моем проекте. Project/Scripts/libs/Timer.js - полный путь. , когда я устанавливаю этот путь: Scripts/libs/Timer.js - файл не пуст, когда /Scripts/libs/Timer.js - файл пуст.

concat: { 
      options:{ 
       // define a string to put between each file in the concatenated output 
       separator: '\n;' 
      }, 
      own_scripts: { 
       //project-files 
       src: [ 
        "Scripts/application/app.js", 
        "Scripts/application/Controllers/*.js", 
        "Scripts/application/Directives/*.js", 
        "Scripts/application/Filters/*.js", 
        "Scripts/application/Services/*.js" 
       ], 
       dest: 'dist/scripts-concat.js' 
} 

может быть, вы должны сделать это:

dist: { 
     src: [ 
      'app/bower/jquery/jquery.js', 
      'app/assets/js/script.js' 
     ], 
     dest: 'public/assets/app.js', 
     }, 
Смежные вопросы