Hướng dẫn nodejs get current directory name - nodejs lấy tên thư mục hiện tại

Mặc dù mã trong câu trả lời hoạt động, bạn nên sử dụng

path.basename(path.resolve(process.cwd()))
4 để lấy tên của phần cuối của đường dẫn vì:

  • Nó hoạt động trên các hệ điều hành (các hệ thống Windows và UNIX sử dụng các phân tách đường dẫn khác nhau)
  • Nó bỏ qua các dấu phân cách thư mục theo dõi (tức là
    path.basename(path.resolve(process.cwd()))
    
    5 cuối cùng trong
    path.basename(path.resolve(process.cwd()))
    
    6)

Ngoài ra, và để có thêm sự an toàn, bạn nên sử dụng

path.basename(path.resolve(process.cwd()))
7 vì nó bình thường hóa đường dẫn trước khi lấy tên cơ sở, loại bỏ các quirks liên quan đến đường dẫn.

Nếu bạn có thể nhận được

path.basename(path.resolve(process.cwd()))
8 với
path.basename(path.resolve(process.cwd()))
9, thì những điều sau đây sẽ cung cấp cho bạn tên của thư mục (
path.basename(path.resolve())
0 trong ví dụ):

path.basename(process.cwd())

Thêm

path.basename(path.resolve(process.cwd()))
7 để có thêm an toàn:

path.basename(path.resolve(process.cwd()))

hoặc thậm chí:

path.basename(path.resolve())

Example:

const path = require('path');

function slice(pathName) {
  const res = pathName.split(path.sep).slice(-1)[0];
  console.log('slicer  ', pathName, '=>', `'${res}'`);
}

function basename(pathName) {
  const res = path.basename(path.resolve(pathName));
  console.log('basename', pathName, '=>', `'${res}'`);
}

slice('/path/to/cwd'); // cwd
basename('/path/to/cwd'); // cwd

slice('/path/to/cwd/'); // ''
basename('/path/to/cwd/'); // cwd

// Other valid paths
slice('/path/to/cwd/..'); // '..'
basename('path/to/cwd/..'); // cwd

slice('.'); // '.'
basename('.'); // 

Process.cwd ()

Returns: 

Phương thức Process.cwd () trả về thư mục làm việc hiện tại của quy trình Node.js.

console.log(`Current directory: ${process.cwd()}`);

Điều này được đảm bảo là con đường tuyệt đối đến thư mục làm việc hiện tại. Dùng cái này!guaranteed to be the absolute path to the current working directory. Use this!

path.basename (đường dẫn [, ext])

path 
ext  An optional file extension
Returns: 

Phương thức

path.basename(path.resolve(process.cwd()))
4 trả về phần cuối của đường dẫn, tương tự như lệnh basename Unix. Trình phân tách thư mục theo dõi bị bỏ qua, xem Path.Sep.

path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'

path.basename('/foo/bar/baz/asdf/quux.html', '.html');
// Returns: 'quux'

Kiểu hàng được ném nếu đường dẫn không phải là một chuỗi hoặc nếu ext được đưa ra và không phải là một chuỗi.

path.resolve([...paths])

...paths  A sequence of paths or path segments
Returns: 

Phương thức Path.Resolve () giải quyết một chuỗi các đường dẫn hoặc phân đoạn đường dẫn thành một đường dẫn tuyệt đối.

Chuỗi đường dẫn đã cho được xử lý từ phải sang trái, với mỗi đường dẫn tiếp theo được chuẩn bị cho đến khi một đường dẫn tuyệt đối được xây dựng. Chẳng hạn, với chuỗi các phân đoạn đường dẫn: /foo, /bar, baz, calling path.resolve (' /foo', ' /barb', 'baz') sẽ trả về /bar /baz.

Nếu sau khi xử lý tất cả các phân đoạn đường dẫn đã cho một đường dẫn tuyệt đối chưa được tạo ra, thư mục làm việc hiện tại sẽ được sử dụng.

Đường dẫn kết quả được chuẩn hóa và dấu gạch chéo được loại bỏ trừ khi đường dẫn được giải quyết đến thư mục gốc.

Các phân đoạn đường dẫn có độ dài không bị bỏ qua.

Nếu không có phân đoạn đường dẫn nào được truyền, path.resolve () sẽ trả về đường dẫn tuyệt đối của thư mục làm việc hiện tại.

Nếu bạn có thể sử dụng

path.basename(path.resolve(process.cwd()))
9, bạn không cần
path.basename(path.resolve(process.cwd()))
7 trong các trường hợp khác, hãy sử dụng nó !.

Đôi khi, bạn cần có một chuỗi đại diện cho thư mục hoặc thư mục hiện tại của bạn mã JavaScript của bạn đang được thực thi.

Có hai cách bạn có thể nhận được thư mục hiện tại trong NodeJS:

  • Sử dụng biến đặc biệt
    path.basename(path.resolve())
    
    5
  • Sử dụng phương pháp tích hợp
    path.basename(path.resolve(process.cwd()))
    
    9

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng cả hai cách. Trước tiên, hãy nhìn vào

path.basename(path.resolve())
5.

Nhận thư mục hiện tại với __dirname

Biến

path.basename(path.resolve())
5 là một biến đặc biệt có sẵn khi bạn chạy mã JavaScript bằng NodeJS.

Mã bên dưới cho thấy cách bạn có thể sử dụng biến đặc biệt:

console.log("Current directory:", __dirname);

Biến sẽ in đường dẫn đến thư mục, bắt đầu từ thư mục gốc.

Ở đây, đầu ra trên máy tính của tôi:

path.basename(path.resolve(process.cwd()))
0

Và chỉ như vậy, bạn có thể nhận được thư mục làm việc hiện tại trong nodejs. Hãy cùng nhìn vào phương pháp

path.basename(path.resolve(process.cwd()))
9 tiếp theo.

Nhận thư mục hiện tại với Process.cwd ()

Phương pháp

path.basename(path.resolve(process.cwd()))
9 hoạt động giống như biến
path.basename(path.resolve())
5. Nó in đường dẫn đến thư mục làm việc hiện tại từ thư mục gốc:

path.basename(path.resolve(process.cwd()))
1

Độc quyền nhận thư mục hiện tại

Khi bạn chỉ cần thực hiện thư mục hiện tại nơi tập lệnh được thực thi, bạn có thể sử dụng mô-đun

const path = require('path');

function slice(pathName) {
  const res = pathName.split(path.sep).slice(-1)[0];
  console.log('slicer  ', pathName, '=>', `'${res}'`);
}

function basename(pathName) {
  const res = path.basename(path.resolve(pathName));
  console.log('basename', pathName, '=>', `'${res}'`);
}

slice('/path/to/cwd'); // cwd
basename('/path/to/cwd'); // cwd

slice('/path/to/cwd/'); // ''
basename('/path/to/cwd/'); // cwd

// Other valid paths
slice('/path/to/cwd/..'); // '..'
basename('path/to/cwd/..'); // cwd

slice('.'); // '.'
basename('.'); // 
2 tích hợp:

path.basename(path.resolve(process.cwd()))
2

Mô -đun

const path = require('path');

function slice(pathName) {
  const res = pathName.split(path.sep).slice(-1)[0];
  console.log('slicer  ', pathName, '=>', `'${res}'`);
}

function basename(pathName) {
  const res = path.basename(path.resolve(pathName));
  console.log('basename', pathName, '=>', `'${res}'`);
}

slice('/path/to/cwd'); // cwd
basename('/path/to/cwd'); // cwd

slice('/path/to/cwd/'); // ''
basename('/path/to/cwd/'); // cwd

// Other valid paths
slice('/path/to/cwd/..'); // '..'
basename('path/to/cwd/..'); // cwd

slice('.'); // '.'
basename('.'); // 
2 có phương pháp
const path = require('path');

function slice(pathName) {
  const res = pathName.split(path.sep).slice(-1)[0];
  console.log('slicer  ', pathName, '=>', `'${res}'`);
}

function basename(pathName) {
  const res = path.basename(path.resolve(pathName));
  console.log('basename', pathName, '=>', `'${res}'`);
}

slice('/path/to/cwd'); // cwd
basename('/path/to/cwd'); // cwd

slice('/path/to/cwd/'); // ''
basename('/path/to/cwd/'); // cwd

// Other valid paths
slice('/path/to/cwd/..'); // '..'
basename('path/to/cwd/..'); // cwd

slice('.'); // '.'
basename('.'); // 
4, chỉ trả về phần cuối của đường dẫn. Phần cuối cùng của biến
path.basename(path.resolve())
5 cho máy tính của tôi là
const path = require('path');

function slice(pathName) {
  const res = pathName.split(path.sep).slice(-1)[0];
  console.log('slicer  ', pathName, '=>', `'${res}'`);
}

function basename(pathName) {
  const res = path.basename(path.resolve(pathName));
  console.log('basename', pathName, '=>', `'${res}'`);
}

slice('/path/to/cwd'); // cwd
basename('/path/to/cwd'); // cwd

slice('/path/to/cwd/'); // ''
basename('/path/to/cwd/'); // cwd

// Other valid paths
slice('/path/to/cwd/..'); // '..'
basename('path/to/cwd/..'); // cwd

slice('.'); // '.'
basename('.'); // 
6 vì vậy nó sẽ được trả về bằng phương thức:

path.basename(path.resolve(process.cwd()))
3

Và đó là cách mà bạn có thể nhận được chuỗi đại diện cho thư mục hoặc thư mục hiện tại trong nodejs.

Làm cách nào để có được tên thư mục hiện tại trong nút?

Chúng ta có thể có được đường dẫn của tập lệnh hiện tại trong nút.JS bằng cách sử dụng các biến phạm vi mô -đun __dirname và __filename.__dirname: Nó trả về tên thư mục của mô -đun hiện tại trong đó tập lệnh hiện tại được đặt.using __dirname and __filename module scope variables. __dirname: It returns the directory name of the current module in which the current script is located.

Mã nào in thư mục hiện tại trong nút JS?

CWD trong nodejs là gì?cwd () trả về thư mục làm việc hiện tại, tức là thư mục mà bạn đã gọi lệnh nút.cwd() returns the current working directory, i.e. the directory from which you invoked the node command.

Làm cách nào để tìm thư mục của tệp JS nút?

Một cách tiếp cận là sử dụng phương pháp Fs.ReadDir tích hợp.Điều này sẽ giúp bạn có một mảng tất cả các tệp và thư mục trên đường dẫn được chỉ định: fs = yêu cầu ('fs');FS.use the builtin fs. readdir method. This will get you an array of all the files and directories on the specified path: fs = require('fs'); fs.

Làm cách nào để tìm thư mục làm việc hiện tại của tôi?

Sử dụng phương thức Os.getCwd () được sử dụng để có được thư mục làm việc hiện tại trong Python.Đường dẫn tuyệt đối đến thư mục làm việc hiện tại được trả về trong một chuỗi bởi hàm này của mô -đun HĐH Python. getcwd() method is used for getting the Current Working Directory in Python. The absolute path to the current working directory is returned in a string by this function of the Python OS module.