Bu nedenle Nodejs '__fileName'
, yürürlükteki dosyayı yürüten varsayılan genel değişkenle birlikte gelir . Tavsiyem __fileName öğesini herhangi bir dosyadan bir hizmete aktarmaktır, böylece fileName dosyasının alınması dinamik hale getirilir
Aşağıda, fileName dizesini kullanmak ve sonra dayalı bölmek path.sep
. Path.sep, posix dosya ayırıcıları ve windows dosya ayırıcıları ile ilgili sorunları önler ('/' ve '\' ile ilgili sorunlar). Çok daha temiz. Alt dizeyi almak ve sadece son ayrılmış adı almak ve aktüatör uzunluğu ile 3 çıkarmak, kendisi için konuşur.
Böyle bir hizmet yazabilirsiniz (Bu, daktilodadır, ancak js'de çok iyi yazabilirsiniz)
export class AppLoggingConstants {
constructor(){
}
// Here make sure the fileName param is actually '__fileName'
getDefaultMedata(fileName: string, methodName: string) {
const appName = APP_NAME;
const actualFileName = fileName.substring(fileName.lastIndexOf(path.sep)+1, fileName.length - 3);
//const actualFileName = fileName;
return appName+ ' -- '+actualFileName;
}
}
export const AppLoggingConstantsInstance = new AppLoggingConstants();
path.basename(fpath, path.extname(fpath))