Grunt Dosya Özellikleri
Tüm dosya yolları Gruntfile
ile ilişkilidir. Mevcut çalışma dizini grunt.file.setBase
veya --base
komut satırı seçeneği ile değiştirilmedikçe.
Karakter kodlama
grunt.file.defaultEncoding
Bu özelliği ayarlayarak tüm grunt.file
yöntemleri tarafından kullanılan varsayılan kodlamayı değiştirebilirsiniz. Varsayılan değer 'utf8'
dir. Bu değeri değiştirmek zorundaysanız, bunu Gruntfile'ınızın içinde mümkün olan en erken tarihte yapmanız önerilir.
grunt.file.defaultEncoding = 'utf8';
grunt.file.preserveBOM
0.4.2'de Eklendi
file.read
üzerinde Byte Order Mark (BOM) koruyup korumayacağını belirler.
grunt.file.preserveBOM = false;
Okuma ve yazma
grunt.file.read
Bir dosyanın içeriğini okuyup döndürür. options.encoding
null
ise, bir Buffer döndürür.
grunt.file.read(filepath [, options])
options
nesnesinin bu olası özellikleri vardır:
var options = {
// Eğer bir kodlama belirtilmemişse, varsayılan olarak grunt.file.defaultEncoding kullanılır.
// null olarak belirtilirse, bir dize yerine bir dekode edilmemiş Buffer döndürülür.
encoding: encodingName
};
grunt.file.readJSON
Bir dosyanın içeriğini okur, verileri JSON olarak ayrıştırır ve sonucu döndürür. Desteklenen seçeneklerin bir listesini görmek için grunt.file.read
'e bakın.
grunt.file.readJSON(filepath [, options])
grunt.file.readYAML
Bir dosyanın içeriğini okur, verileri YAML olarak ayrıştırır ve sonucu döndürür. Desteklenen seçeneklerin bir listesini görmek için grunt.file.read
'e bakın.
grunt.file.readYAML(filepath [, options])
grunt.file.write
Belirtilen içeriği bir dosyaya yazar, gerekli olduğunda ara dizinleri oluşturur. Dizeler belirtilen karakter kodlaması kullanılarak kodlanacak, Buffers belirtilen şekilde diske yazılacaktır.
Not:
--no-write
komut satırı seçeneği belirtilirse, dosya gerçekte yazılmayacaktır.
grunt.file.write(filepath, contents [, options])
options
nesnesinin bu olası özellikleri vardır:
var options = {
// Eğer bir kodlama belirtilmemişse, varsayılan olarak grunt.file.defaultEncoding kullanılır.
// Eğer `contents` bir Buffer ise, kodlama dikkate alınmaz.
encoding: encodingName
};
grunt.file.copy
Bir kaynak dosyayı bir hedef yolu kopyalar, gerektiğinde ara dizinleri oluşturur.
Not:
--no-write
komut satırı seçeneği belirtilirse, dosya gerçekte yazılmayacaktır.
grunt.file.copy(srcpath, destpath [, options])
options
nesnesinin bu olası özellikleri vardır:
var options = {
// Eğer bir kodlama belirtilmemişse, varsayılan olarak grunt.file.defaultEncoding kullanılır.
// null ise, `process` fonksiyonu bir Dize yerine bir Buffer alacaktır.
encoding: encodingName,
// Kaynak dosya içeriği, kaynak dosya yolu ve hedef dosya yolu
// bu işlevin içine geçirilir, döndürdüğü değer
// hedef dosyanın içeriği olarak kullanılacaktır. Eğer bu işlev `false` dönerse, dosya
// kopyası iptal edilecektir.
process: processFunction,
// Bu isteğe bağlı globbing desenleri dosya yoluna
// (dosya adı değil) göre grunt.file.isMatch kullanılarak eşleştirilecektir. Eğer belirtilen herhangi bir globbing
// deseni eşleşirse, dosya `process` fonksiyonu aracılığıyla işlenmeyecektir.
// Eğer `true` belirtilirse, işleme engellenecektir.
noProcess: globbingPatterns
};
grunt.file.delete
Belirtilen dosya yolunu siler. Dosyaları ve klasörleri özyinelemeli olarak siler.
Uyarı: Geçerli çalışma dizinini veya geçerli çalışma dizininin dışındaki dosyaları
--force
komut satırı seçeneği belirtilmedikçe silmeyecek.
Not:--no-write
komut satırı seçeneği belirtilirse, dosya yolu gerçekte silinmeyecektir.
grunt.file.delete(filepath [, options])
options
nesnesinin bir olası özelliği vardır:
var options = {
// Geçerli çalışma dizininin dışındaki dosyaların silinmesini etkinleştirir. Bu seçenek
// `--force` komut satırı seçeneği ile geçersiz kılınabilir.
force: true
};
Dizinler
grunt.file.mkdir
mkdir -p
gibi çalışır. Ara dizinlerle birlikte bir dizin oluşturur. Eğer mode
belirtilmemişse, varsayılan değeri 0777 & (~process.umask())
dir.
Not:
--no-write
komut satırı seçeneği belirtilirse, dizinler gerçekte oluşturulmayacaktır.
grunt.file.mkdir(dirpath [, mode])
grunt.file.recurse
Bir dizine özyinelemeli olarak girer, her dosya için callback
işlevini çalıştırır.
grunt.file.recurse(rootdir, callback)
Geri çağırma işlevi şu argümanları alır:
function callback(abspath, rootdir, subdir, filename) {
// Geçerli dosyanın tam yolu, yalnızca
// rootdir + subdir + filename argümanlarının birleştirilmesidir.
abspath
// Başlangıçta belirtilen kök dizin.
rootdir
// Geçerli dosyanın kök dizine göre dizini.
subdir
// Geçerli dosyanın, dizin parçaları olmadan, dosya adı.
filename
}
Globbing desenleri
Tüm kaynak dosya yollarını tek tek belirtmek genellikle pratik değildir, bu nedenle Grunt, yerleşik node-glob kitaplığı aracılığıyla dosya adı genişletmeyi (globbing olarak da bilinir) destekler.
Globbing desenleri örnekleri için [[Görevleri yapılandırma]] kılavuzunun "Globbing desenleri" bölümüne bakın.
grunt.file.expand
Verilen globbing deseni ile eşleşen tüm dosya veya dizin yollarının benzersiz bir dizisini döndürür. Bu yöntem ya virgülle ayrılmış globbing desenleri ya da bir globbing desenleri dizisi alır. !
ile başlayan desenler döndürülen diziden hariç tutulacaktır. Desenler sırayla işlenir, bu nedenle dahil etme ve hariç tutma sırası önemlidir.
grunt.file.expand([options, ] patterns)
Dosya yolları Gruntfile
ile ilişkilidir, mevcut çalışma dizini grunt.file.setBase
veya --base
komut satırı seçeneği ile değiştirilmedikçe.
options
nesnesi tüm minimatch kitaplığı seçeneklerini ve birkaç diğerini destekler. Örneğin:
filter
Geçerli bir fs.Stats yöntem adı veya eşleşensrc
dosya yolunu alıptrue
veyafalse
döndüren bir işlev.nonull
Dosyalarla eşleşmemesi durumundasrc
desenlerini korur. Grunt'ın--verbose
bayrağı ile birleştirildiğinde, bu seçenek dosya yolu sorunlarını debugging yapmaya yardımcı olabilir.matchBase
Klasör noktası olmayan desenler yalnızca temel adı ile eşleşecektir. Örneğin, bu*.js
'in**/*.js
gibi çalışmasını sağlar.cwd
Desenler bu yüke göre eşleştirilecektir ve döndürülen tüm dosya yolları da bu yüke göre olacaktır.
grunt.file.expandMapping
Kaynak-hedef dosya eşleme nesnelerinin bir dizisini döndürür. Belirtilen bir desenle eşleşen her kaynak dosya için, bu dosya yolunu belirtilen dest
ile birleştirir. Bu dosya yolu flat veya yeniden adlandırılabilir; bu seçeneklere bağlı olarak değişir. patterns
ve options
argümanlarının nasıl belirtilebileceği ile ilgili açıklama için grunt.file.expand
yönteminin belgelerine bakın.
grunt.file.expandMapping(patterns, dest [, options])
Bu yöntem programatik olarak çoklu bir görev için bir files
dizisi oluşturmak için kullanılabileceği gibi, "Dosya nesnesini dinamik olarak oluşturma" bölümünde [[Görevleri yapılandırma]] kılavuzunda açıklanan deklaratif sözdizimi tercih edilir.
grunt.file.expand
yöntemi tarafından desteklenenlere ek olarak, options
nesnesi ayrıca bu özellikleri de destekler:
var options = {
// Desenlerin eşleştirildiği dizin. Cwd olarak belirtilen herhangi bir dize
// etkili bir şekilde tüm eşleşen yolların başından çıkarılır.
cwd: String,
// Tüm eşleşen src dosyalarından yol bileşenini çıkarır. Src dosya yolu
// belirtilen dest ile hala birleştirilecektir.
flatten: Boolean,
// Hedef yolda (options.extDot ile belirtilen) ilk veya son "." dahil
// her şeyi çıkartıp, ardından bu değeri ekleyin.
ext: String,
// *0.4.3'de Eklendi*
// Periyodun hangi yerde, uzantıyı (extension) belirlediğini gösterir. Alabilir:
// - 'first' (uzantı dosya adındaki ilk periyottan sonra başlar)
// - 'last' (uzantı son periyottan sonra başlar)
// Varsayılan: 'first'
extDot: String,
// Eğer belirtilirse, bu işlev son hedef dosya yolunu döndürmekten sorumlu olacaktır.
// Varsayılan olarak, hedef ve eşleşenSrcYolunu bu şekilde birleştirir:
rename: function(dest, matchedSrcPath, options) {
return path.join(dest, matchedSrcPath);
}
};
grunt.file.match
Bir veya daha fazla globbing desenini bir veya daha fazla dosya yoluna eşleştirir. Belirtilen globbing desenlerinden herhangi birine uyan tüm dosya yollarının benzersiz bir dizisini döndürür. Hem patterns
hem de filepaths
argümanı tek bir dize veya dize dizisi olabilir. !
ile başlayan desenlere uyan yollar döndürülen diziden hariç tutulacaktır. Desenler sırayla işlenir, bu nedenle dahil etme ve hariç tutma sırası önemlidir.
grunt.file.match([options, ] patterns, filepaths)
options
nesnesi tüm minimatch kitaplığı seçeneklerini destekler. Örneğin, options.matchBase
true ise, klasör noktası içermeyen desenler yolların temel adıyla eşleşecektir; örneğin, desen *.js
dosya yolu path/to/file.js
ile eşleşecektir.
grunt.file.isMatch
Bu yöntem grunt.file.match
yönteminin aynı imzasına ve mantığına sahiptir, ancak herhangi bir dosya eşleşirse true
döner, aksi takdirde false
döner.
Dosya türleri
grunt.file.exists
Verilen yol mevcut mu? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.exists(path1 [, path2 [, ...]])
grunt.file.isLink
Verilen yol bir sembolik bağlantı mı? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isLink(path1 [, path2 [, ...]])
Yol mevcut değilse false
döner.
grunt.file.isDir
Verilen yol bir dizin mi? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isDir(path1 [, path2 [, ...]])
Yol mevcut değilse false
döner.
grunt.file.isFile
Verilen yol bir dosya mı? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isFile(path1 [, path2 [, ...]])
Yol mevcut değilse false
döner.
Yollar
grunt.file.isPathAbsolute
Verilen dosya yolu mutlak mı? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isPathAbsolute(path1 [, path2 [, ...]])
grunt.file.arePathsEquivalent
Tüm belirtilen yollar aynı yola mı işaret ediyor? Bir boolean değeri döndürür.
grunt.file.arePathsEquivalent(path1 [, path2 [, ...]])
grunt.file.doesPathContain
Tüm alt yol(lar) belirtilen üst yolun içinde mi? Bir boolean değeri döndürür.
Not: yolların gerçekte var olup olmadığını kontrol etmez.
grunt.file.doesPathContain(ancestorPath, descendantPath1 [, descendantPath2 [, ...]])
grunt.file.isPathCwd
Verilen dosya yolu geçerli çalışma dizini mi? Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isPathCwd(path1 [, path2 [, ...]])
grunt.file.isPathInCwd
Verilen dosya yolu geçerli çalışma dizini içinde mi? Not: Geçerli çalışma dizinidir, CWD içinde değildir. Bir boolean değeri döndürür.
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
grunt.file.isPathInCwd(path1 [, path2 [, ...]])
grunt.file.setBase
Grunt'ın geçerli çalışma dizinini (CWD) değiştirir. Varsayılan olarak, tüm dosya yolları Gruntfile
ile ilişkilidir. Bu, --base
komut satırı seçeneği ile aynı şekilde çalışır.
grunt.file.setBase(path1 [, path2 [, ...]])
Node.js path.join yöntemine benzer şekilde, bu yöntem tüm argümanları birleştirerek sonuçta oluşan yolu normalize eder.
Harici kitaplıklar
Eski
Aşağıda listelenen tüm harici kitaplıklar artık eski olarak kabul edilmektedir.
Lütfen proje bağımlılıklarınıza bu harici kitaplıkları yönetmek için npm kullanın.
Örneğin, Lo-Dash kullanmak istiyorsanız, önce npm install lodash
ile kurun, ardından
Gruntfile
'ınızda kullanın: var _ = require('lodash');
grunt.file.glob
Eski
glob - Dosya globbing yardımcı programı.
grunt.file.minimatch
Eski
minimatch - Dosya desen eşleştirme yardımcı programı.
grunt.file.findup
Eski
findup-sync - Eşleşen dosya desenlerini aramak için yukarı yönde arama yapın.