নোড জেএস একটি ফাইল থেকে ফোল্ডার পাথ পান


90

কোনও নির্দিষ্ট ফাইল ধারণ করে এমন কোনও ফোল্ডারে যাওয়ার পথ রয়েছে কি?

fs.realpathSync('config.json', []);

কিছু ফিরে

G:\node-demos\7-node-module\demo\config.json

আমার দরকার

G:\node-demos\7-node-module\demo\ 
or
G:\node-demos\7-node-module\demo\

এর জন্য কোনও এপিআই আছে বা আমার স্ট্রিংটি প্রক্রিয়া করা দরকার?

উত্তর:


164

path.dirname ব্যবহার করুন

// onlyPath should be G:\node-demos\7-handlebars-watch\demo
var onlyPath = require('path').dirname('G:\\node-demos\\7-node-module\\demo\\config.json');

4
আপনার ব্যাকস্ল্যাশগুলি দ্বিগুণ করুন, বা আপনি এলোমেলো অক্ষরগুলি ছেড়ে পালিয়ে যাবেন।
— Ван

4
আপনি আসল প্রশ্নে মত একটি আপেক্ষিক পাথ দিয়ে শুরু করছেন, তাহলে আপনি do- হবেlet onlyPath = path.dirname(fs.realpathSync('config.json'));
— কিপ

আমি সর্বদা @ কিপ ব্যবহারের পদ্ধতিটি ব্যবহার করতে চাই realpathSyncযা নিরঙ্কুশ এবং আপেক্ষিক পাথকে
— coversেকে রাখে

5

require("path").dirname(……) বিরতি যখন আপনার পাথ স্পষ্টভাবে এর ডিরেক্টরি নির্দিষ্ট করে না।

require("path").dirname("./..")
// "."

require("path").join(……, "../")পরিবর্তে আপনি ব্যবহার বিবেচনা করতে পারেন । এটি পাশাপাশি চলমান বিভাজকও সংরক্ষণ করে।

require("path").join("whatever/absolute/or/relative", "../")
// "whatever/absolute/or/" (POSIX)
// "whatever\\absolute\\or\\" (Windows)
require("path").join(".", "../")
// "../" (POSIX)
// "..\\" (Windows)
require("path").join("..", "../")
// "../../" (POSIX)
// "..\\..\\" (Windows)
require("path").win32.join("C:\\", "../")
// "C:\\"

5

কেবল pathমডিউল ইনস্টল করুন এবং এটি ব্যবহার করুন,

var path = require('path');
path.dirname('G:\\node-demos\\7-node-module\\demo\\config.json')

// Returns: 'G:\node-demos\7-node-module\demo'

এটি 5 বছর আগে পোস্ট করা গৃহীত উত্তরের সাথে অভিন্ন বলে মনে হচ্ছে
— কাইলমিট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.