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à
5 cuối cùng trongpath.basename[path.resolve[process.cwd[]]]
6]path.basename[path.resolve[process.cwd[]]]
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
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[path.resolve[process.cwd[]]]
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
5path.basename[path.resolve[]]
- Sử dụng phương pháp tích hợp
9path.basename[path.resolve[process.cwd[]]]
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[]]]
0Và 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[]]]
2Mô -đ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[]]]
3Và đó 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.