2013-08-12 22 views
20

Grunt yapılandırma dosyalarını projenin bir alt dizinine koymak mümkün mü? İşleri daha organize tutmak için bunu yapmak istiyorum.Bir alt dizine Grunt koy

E.g.

  • myproject/hırıltı/Gruntfile.js

  • myproject/hırıltı/package.json

  • myproject Ben çalıştırırken sorun yaşıyorum/hırıltı/node_modules/

Bu yapılandırma altında Gruntfile.js komutları. Grunt üst dizine bakmayı başarabilir mi? Ya da belki ben yanlış

sass: { 
    dev: { 
     files: { 
      "../style.css": "../scss/style.scss" 
     } 
    } 
} 

Bu Grunt yok bende o üst dizinde bakmak istiyorum o anlayış, silkip görünüyor çalıştırdığınızda ...

Source file "scss/style.scss" not found. 

cevap

27

Evet, bu olmalı yapıyorum Muhtemelen, ancak görevlerin Gruntfile'ı projenin köküne koymuş gibi çalışmasını sağlamak için muhtemelen grunt.file.setBase method veya --base komut satırı seçeneğini kullanmak isteyeceksiniz. Aksi takdirde, varsayılan olarak, çalışma dizininin dışındaki yollara yazmayan görevlerle çeşitli sorunlarda karşılaşırsınız. Örneğin, grunt-contrib-clean eklentisindeki force option. Yukarıdaki

module.exports = function(grunt) { 

    // if you put the call to setBase here, then the package.json and 
    // loadNpmTasks paths will be wrong!!! 

    // Project configuration. 
    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    uglify: { 
     options: { 
     banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' 
     }, 
     build: { 
     src: 'src/<%= pkg.name %>.js', 
     dest: 'build/<%= pkg.name %>.min.js' 
     } 
    } 
    }); 

    // Load the plugin that provides the "uglify" task. 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 

    // now that we've loaded the package.json and the node_modules we set the base path 
    // for the actual execution of the tasks 
    grunt.file.setBase('../') 

    // Default task(s). 
    grunt.registerTask('default', ['uglify']); 

}; 

Ben Sass kullanmayın, bu yüzden her görev yapılandırma ile yanlış olabilir olmadığı konusunda yorum yapamam, ama: Burada

bu yöntemi kullanmak sample Gruntfile from the Getting Started page değiştiren bir örnektir Başlarken örneğinin bir değişikliği olarak çalışır.

+0

Cevabınız için teşekkür ederiz. Bana bir örnek verebilirmisin? Anladığım kadarıyla bir örnek göreceğim. Belgeleri okudum ama maalesef hiçbir örnek yok. Grunt.file.setBase ('../'); 'gibi bir şey mi olurdu? Bu satırı dosyama ekledim ama farketmez. – SparrwHawk

+0

Yoksay beni, ben bir aptalım. benim Gruntfile.js yanlış dizindeydi.'grunt.file.setBase ('../'); gerçekten gitmek için yol oldu. Teşekkürler – SparrwHawk

+0

@SparrwHawk Düzenlenmiş yanıtı gör – explunit

İlgili konular