Trong node.js, tôi dường như bắt gặp 3 tên tệp giống nhau để mô tả điểm vào chính của ứng dụng:
- sử dụng
máy phát điện nhanh
Khi bạn tạo một gói, ứng dụng.js
Tệp đóng vai trò là điểm vào chính để xây dựng ứng dụng.
- vượt qua
npm khởi tạo
Tạo mới gói.json
tệp, bạn sẽ được nhắc nhập tệp điểm nhập chính. Mặc định là index.js
.
- Trong một số chương trình tôi đã xem,
máy chủ.js
Đây cũng là điểm vào chính.
Vào những thời điểm khác, dường như vẫn có những khác biệt tinh tế trong cách sử dụng của chúng. Ví dụ, cấu trúc thư mục ứng dụng Node này được sử dụng trong các bối cảnh khác nhau index.js
Và máy chủ.js
:
ứng dụng
|- mô-đun
| |- mô-đunA
| | |- bộ điều khiển
| | | |- bộ điều khiểnA.js
| | | +- bộ điều khiển B.js
| | |- dịch vụ
| | | +- someService.js
| | +- index.js <--------------
| +- index.js <-------------------
|- middleware.js
+- index.js <------------------------
cấu hình
+- index.js <------------------------
mạng lưới
|-css
|-js
server.js <---------------------------
Sự khác biệt giữa ba cái tên này là gì, nếu có?
Mặc dù bạn có thể gọi tệp theo bất kỳ cách nào bạn muốn, nhưng vẫn có những lợi thế khi gọi điểm vào là index.js hoặc server.js
Tại sao nên chọn index.js:Khi bạn phát hành npm khởi tạo
Nó đặt điểm vào chính của mô-đun thành index.js. Một số người không thay đổi nó, vì vậy họ đặt tên điểm vào chính của mình là index.js. Điều này có nghĩa là ít đi một việc phải làm.
Tại sao nên chọn server.js:Nếu gói Node của bạn sẽ không được gói khác sử dụng mà là một ứng dụng độc lập, thì nếu bạn gọi điểm vào chính server.js của mình, thì bạn có thể phát hành npm bắt đầu
Và khởi chạy ứng dụng của bạn. npm bắt đầu
Theo mặc định, nó sẽ chạy tệp server.js của bạn. Để thay đổi hành vi này, hãy cung cấp trong package.json của bạn bắt đầu
kịch bản. Nếu tồn tại bắt đầu
kịch bản,npm bắt đầu
Tập lệnh sẽ chạy.
app.js chỉ là một quy ước - lợi thế duy nhất của nó là một số IDE (như Visual Studio Code) sẽ mặc định chọn app.js làm điểm vào cho trình gỡ lỗi của bạn. Theo cách này, khi sử dụng framework phổ biến nhất là Express, nó sẽ tạo ra một tệp app.js và "nó chỉ hoạt động"
Tôi là một lập trình viên xuất sắc, rất giỏi!