2012-12-11 34 views

Trả lời

44

Bạn có thể sử dụng biến __filename

http://nodejs.org/docs/latest/api/globals.html#globals_filename

+1

Điều này chỉ hữu ích nếu bạn muốn biết tên tệp hiện đang chạy mã đang xem biến '__filename'. Nếu, thay vào đó, bạn cần phải biết tên của toàn bộ chương trình nodejs đang chạy, sử dụng câu trả lời của @Brad dưới đây. –

16

Bạn cần phải sử dụng process.argv. Trong đó sẽ có tên của tập lệnh được thực hiện từ dòng lệnh, có thể khác với những gì bạn sẽ tìm thấy trong __filename. Đó là thích hợp phụ thuộc vào nhu cầu của bạn.

http://nodejs.org/docs/latest/api/process.html#process_process_argv

+0

khác với '__filename' như thế nào? Nó trông giống nhau. – 1252748

+1

@ 1252748 Bạn nên đọc tài liệu: https://nodejs.org/docs/latest/api/modules.html#modules_filename '__filename' là tên của tệp bạn hiện đang sử dụng. Nếu tôi có tập lệnh bao gồm 5 mô-đun khác, có 6 khả năng khác nhau của '__filename' sẽ là gì, tùy thuộc vào nơi tôi đã kiểm tra. Hơn nữa, kịch bản có thể có một liên kết tượng trưng được sử dụng để thực hiện nó. 'process.argv' sẽ cung cấp cho bạn những gì đã thực sự chạy. – Brad

+0

Thông tin tuyệt vời. Cảm ơn người đàn ông. – 1252748

21

Sử dụng basename phương pháp module path:

var path = require('path'); 
var filename = path.basename(__filename); 
console.log(filename); 

Here là tài liệu ví dụ trên được lấy từ.

Các vấn đề liên quan