Nhận thư mục đường dẫn JavaScript

trong nút. js, có hai cách tích hợp để lấy thư mục hiện tại. Bạn có thể sử dụng biến __dirname hoặc phương thức

console.log[__dirname]
console.log[process.cwd[]]
0 để lấy thư mục hiện tại. Tuy nhiên, có một sự khác biệt lớn giữa hai lựa chọn này

Biến __dirname [dấu gạch dưới kép ở đầu] là một phần của Nút lõi. js kể từ đầu. Nó trả về đường dẫn tuyệt đối của thư mục chứa tệp JavaScript hiện đang thực thi

Mặt khác,

console.log[__dirname]
console.log[process.cwd[]]
0 trả về thư mục làm việc hiện tại từ nơi bạn bắt đầu Node. ứng dụng js [e. g.
console.log[__dirname]
console.log[process.cwd[]]
3]

Đây là một ví dụ đơn giản

node-runner
  ├──index.js
  ├──public
  ├──api
  │  ├──routes.js
  │  └──helpers
  │      └──paths.js
  ├──mailer
  │  └──send-email.js
  └──package.json

Giả sử tệp

console.log[__dirname]
console.log[process.cwd[]]
4 chứa đoạn mã sau

con đường. js

console.log[__dirname]
console.log[process.cwd[]]

Bây giờ, nếu bạn thực thi

console.log[__dirname]
console.log[process.cwd[]]
4 từ thư mục gốc, bạn sẽ thấy kết quả sau

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner

Như bạn có thể thấy ở trên, __dirname đã trả về đường dẫn thư mục tuyệt đối chứa tệp thực thi [

console.log[__dirname]
console.log[process.cwd[]]
4]. Trong khi đó,
console.log[__dirname]
console.log[process.cwd[]]
0 chỉ cần in thư mục làm việc hiện tại từ nơi Nút. ứng dụng js đã được khởi chạy

Biến toàn cục __dirname có lợi khi bạn muốn lấy thư mục chứa hiện tại cho một tệp. Ví dụ: khi tạo một thư mục mới bên trong thư mục hiện tại, bạn có thể sử dụng biến này để chỉ định đường dẫn thư mục mẹ tuyệt đối

trong nút. js, bạn có cần tìm thư mục hiện tại không? . js. __dirname

console.log[__dirname]
console.log[process.cwd[]]
0. Trong bài viết này, chúng ta sẽ xem xét cách sử dụng cả hai. Bạn sẽ không phải cài đặt bất kỳ gói NPM nào vì cả hai phương thức này đều được tích hợp sẵn trong Node. js

Đã đến lúc bắt đầu

Trực tiếp Giảm giá cuối năm. Trở thành Nhà phát triển Full-Stack giỏi nhất 🚀

Nhận quyền truy cập vào hàng trăm nút thực hành. js, phòng thí nghiệm và trở thành nhà phát triển web toàn diện có thể tuyển dụng

  • Đảm bảo hoàn lại tiền miễn phí
  • Truy cập không giới hạn vào tất cả các khóa học nền tảng
  • Bao gồm 100 dự án thực hành
  • Trợ giúp AI tức thì dựa trên GPT-3
  • nút có cấu trúc. js Full-Stack Lộ trình để có được một công việc
  • Cộng đồng độc quyền cho các sự kiện, hội thảo

Go Pro Now [Giảm giá 50% trong thời gian có hạn]

Mục lục

Nút J là gì?

nút. thư viện và môi trường thời gian chạy js là một phần mềm đa nền tảng, mã nguồn mở cho phép các ứng dụng dựa trên web chạy bên ngoài trình duyệt của máy khách. Ngôn ngữ này chủ yếu được sử dụng cho lập trình phía máy chủ và đã được thiết kế với mục tiêu đạt được kiến ​​trúc hướng sự kiện, không chặn, làm cho ngôn ngữ này trở nên hoàn hảo cho các trang web truyền thống và dịch vụ API ở mặt sau, chưa kể đến các kiến ​​trúc chính hỗ trợ . Mọi trình duyệt đều sử dụng V8 JavaScript, là công cụ cung cấp năng lượng cho Node. js. Đó không phải là một chút khó hiểu sao?

Điều đó đơn giản có nghĩa là bạn có thể chạy toàn bộ trang web trên một ngăn xếp hợp nhất, giúp việc phát triển và bảo trì trở nên dễ dàng, đồng thời cho phép bạn đáp ứng các mục tiêu kinh doanh của mọi dự án. Là phần mềm mã nguồn mở, Node. js liên tục được sửa đổi và cải tiến bởi các nhà phát triển trên toàn thế giới

Đây là một điểm đặc biệt quan trọng để hiểu về Node. js vì đây là môi trường thời gian chạy và không phải là khung cũng như thư viện. Môi trường thời gian chạy [RTE] chứa các API Web mà nhà phát triển có thể sử dụng để xây dựng mã, cũng như các công cụ JavaScript để phân tích cú pháp mã đó. Do đó, nó nhẹ, linh hoạt và dễ triển khai, tất cả các tính năng sẽ tăng tốc và tối ưu hóa quy trình phát triển ứng dụng của bạn

NodeJ. Tại sao chúng ta sử dụng nó?

NodeJs là ngôn ngữ phía máy chủ phổ biến để tạo các ứng dụng web và chúng tôi sử dụng nó vì nhiều lý do. Dưới đây là một số trong số họ

  • Engine NodeJs dựa trên engine V8 trong Google Chrome nên chạy nhanh và thời gian thực thi nhanh
  • Trình quản lý gói nút chứa hơn 50.000 gói, vì vậy các nhà phát triển có thể nhập bất kỳ gói nào theo nhu cầu của họ, do đó tiết kiệm thời gian
  • Khung NodeJS không cần bất kỳ lệnh gọi API nào để trả về dữ liệu, vì vậy nó rất hữu ích khi xây dựng các ứng dụng web thời gian thực và sử dụng nhiều dữ liệu. Do tính chất không đồng bộ của nó, nó hoàn toàn không chặn
  • Vì NodeJs đồng bộ hóa mã giữa máy khách và máy chủ nên thời gian tải âm thanh hoặc video sẽ giảm xuống
  • Vì NodeJs là mã nguồn mở và không gì khác hơn là một JavaScript framework, nên bắt đầu một dự án với NodeJs là một nhiệm vụ rất đơn giản đối với các nhà phát triển đã quen thuộc với JavaScript

thư mục là gì?

Các thư mục trên máy tính là nơi lưu trữ các tệp tin. Đây là một cấu trúc để lập danh mục các tệp và thư mục trong một hệ thống tệp. Cấu trúc phân cấp, chẳng hạn như thư mục và tệp, được thiết lập theo cách giống với cấu trúc cây. Ví dụ, một thư mục con là một thư mục nằm bên trong một thư mục khác. Nói chung, các thư mục và thư mục con được gọi tương ứng là cha mẹ và con cái. Thư mục gốc là các tệp trên cùng trong một hệ thống tệp. Một thư mục giống như một tủ hồ sơ với các thư mục bên trong. Các tệp được chứa trong các thư mục này

Hệ thống tệp sắp xếp các tệp trong các thư mục trong các thiết bị lưu trữ như đĩa cứng hoặc ổ đĩa trạng thái rắn. Tùy thuộc vào hệ điều hành của bạn, tệp người dùng và tệp hệ thống tồn tại trong các thư mục khác nhau. Unix, Linux, MS-DOS và OS/2 là các hệ thống tệp phân cấp có thư mục. Thư mục được gọi là thư mục trong GUI chẳng hạn như Microsoft Windows

Có thể dễ dàng truy cập thông tin bằng cách lưu trữ các loại tệp cụ thể trong các thư mục. Cũng có thể lưu trữ các chương trình trong một thư mục. Các tệp được liên kết với một chương trình đã cài đặt được đặt trong một thư mục chứa các thư mục con chứa các tệp bổ sung. Một thư mục làm giảm khả năng các tệp bị ghi đè, sửa đổi hoặc xóa bởi các chương trình khác


Các phương pháp khác nhau để tìm thư mục hiện tại trong Node. js

Phương pháp 1. Sử dụng __dirname để lấy thư mục hiện tại

Phương thức __dirname là phương thức đầu tiên lấy đường dẫn thư mục hiện tại. Sử dụng nút này. js, bạn có thể tìm ra thư mục mà tệp JavaScript hoặc mô-đun được tải vào

Ví dụ, đây là cách bạn có thể sử dụng nó

console.log["Current directory:", __dirname];

Code language: JavaScript [javascript]

Nó in. Thư mục hiện tại. /Người dùng/muthu/dự án nodejs

Phương pháp

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
4 kết hợp với mô-đun
/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
5 cũng có thể tạo ra kết quả tương tự

Phương pháp

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
4 kết hợp với mô-đun
/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
5 cũng có thể tạo ra kết quả tương tự

Một đường dẫn có thể được chuyển đến hàm

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
4 để lấy thư mục làm việc của đường dẫn. Đường dẫn đầy đủ đến tệp hiện tại được cung cấp trong

Một đường dẫn có thể được chuyển đến hàm

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
4 để lấy thư mục làm việc của đường dẫn. Đường dẫn đầy đủ đến tệp hiện tại được cung cấp trong mô-đun

path.dirname[__filename]

Code language: JavaScript [javascript]
3

Kết hợp hai phương thức đó sẽ cung cấp cho bạn đường dẫn của thư mục hiện tại

path.dirname[__filename]

Code language: JavaScript [javascript]

nó in. Thư mục hiện tại. /Người dùng/muthu/dự án nodejs

Phương pháp 2. Sử dụng

path.dirname[__filename]

Code language: JavaScript [javascript]
4 để lấy thư mục hiện tại []

console.log[__dirname]
console.log[process.cwd[]]
0 hoạt động tương tự như biến

path.dirname[__filename]

Code language: JavaScript [javascript]
6. Sử dụng thư mục gốc làm tham chiếu, nó in đường dẫn đến thư mục làm việc hiện tại

________số 8

Nó in. Thư mục hiện tại. /Người dùng/muthu/dự án nodejs

Phần kết luận

Chúng ta đã học được hai phương pháp để lấy thư mục hiện tại

/home/attacomsian/node-runner/api/helpers
/home/attacomsian/node-runner
4 và
console.log[__dirname]
console.log[process.cwd[]]
0

Tôi hy vọng bạn thích đọc nó và viết mã vui vẻ

Trực tiếp Giảm giá cuối năm. Trở thành Nhà phát triển Full-Stack giỏi nhất 🚀

Nhận quyền truy cập vào hàng trăm nút thực hành. js, phòng thí nghiệm và trở thành nhà phát triển web toàn diện có thể tuyển dụng

  • Đảm bảo hoàn lại tiền miễn phí
  • Truy cập không giới hạn vào tất cả các khóa học nền tảng
  • Bao gồm 100 dự án thực hành
  • Trợ giúp AI tức thì dựa trên GPT-3
  • nút có cấu trúc. js Full-Stack Lộ trình để có được một công việc
  • Cộng đồng độc quyền cho các sự kiện, hội thảo

Go Pro Now [Giảm giá 50% trong thời gian có hạn]

Học lập trình trên codedamn

Codedamn là một nền tảng mã hóa tương tác với rất nhiều khóa học lập trình hấp dẫn có thể giúp bạn có được công việc viết mã đầu tiên của mình. Đây là cách

  • Bước 1 - Tạo một tài khoản miễn phí
  • Bước 2 - Duyệt qua các lộ trình có cấu trúc [đường dẫn học tập] hoặc xem tất cả các khóa học
  • Bước 3 - Thực hành viết mã miễn phí trên các sân chơi lập trình
  • Bước 4 - Nâng cấp lên tài khoản thành viên Pro để mở khóa tất cả các khóa học và nền tảng

Lập trình là một trong những công việc có nhu cầu cao nhất hiện nay. Học lập trình có thể thay đổi tương lai của bạn. Tất cả tốt nhất

Làm cách nào để lấy đường dẫn của thư mục trong js?

phương thức dirname[] trả về các thư mục của đường dẫn tệp.

Làm cách nào để đọc thư mục trong JavaScript?

readdirSync[] là một phương thức có sẵn trong mô-đun hệ thống tệp của Node. js. Nó được sử dụng để đọc nội dung của một thư mục. Nó trả về một mảng đường dẫn tệp, bộ đệm hoặc fs.

Làm cách nào để lấy tất cả các tệp trong một thư mục JavaScript?

Chúng ta có thể sử dụng phương thức readdir trong mô-đun fs để đọc tất cả các tệp có trong thư mục . Đây là một phương pháp không đồng bộ. Trong hàm gọi lại, nó có một mảng chứa tên tệp và thư mục trong thư mục được chỉ định.

Cách lấy thư mục cơ sở trong js?

Bạn có thể sử dụng quy trình. cwd[] trả về thư mục làm việc hiện tại của quy trình. Lệnh đó hoạt động tốt nếu bạn thực thi ứng dụng nút của mình từ thư mục ứng dụng cơ sở. Tuy nhiên, nếu bạn thực thi ứng dụng nút của mình từ thư mục khác, chẳng hạn như thư mục mẹ của nó [e. g. nút yourapp\index.

Chủ Đề