Nút, sự khác biệt giữa phát triển và sản xuất

Tìm hiểu cách thiết lập các cấu hình khác nhau cho môi trường sản xuất và phát triển

Bạn có thể có các cấu hình khác nhau cho môi trường sản xuất và phát triển.

Node giả định rằng nó luôn chạy trong môi trường phát triển. Bạn có thể báo hiệu cho Node.js rằng bạn đang chạy trong phiên bản sản xuất bằng cách đặtNODE_ENV=productionbiến môi trường.

Điều này thường được thực hiện bằng cách thực hiện lệnh

export NODE_ENV=production

trong shell, nhưng tốt hơn nên đặt nó vào tệp cấu hình shell của bạn (ví dụ:.bash_profilevới Bash shell) vì nếu không, cài đặt không tồn tại trong trường hợp khởi động lại hệ thống.

Bạn cũng có thể áp dụng biến môi trường bằng cách thêm nó vào lệnh khởi tạo ứng dụng của mình:

NODE_ENV=production node app.js

Biến môi trường này là một quy ước cũng được sử dụng rộng rãi trong các thư viện bên ngoài.

Đặt môi trường thànhproductionnói chung đảm bảo rằng

  • ghi nhật ký được giữ ở mức tối thiểu, cần thiết
  • nhiều cấp độ bộ nhớ đệm hơn diễn ra để tối ưu hóa hiệu suất

Ví dụ: Pug, thư viện tạo khuôn mẫu được Express sử dụng, biên dịch ở chế độ gỡ lỗi nếuNODE_ENVkhông được đặt thànhproduction. Chế độ xem Express được biên dịch theo mọi yêu cầu ở chế độ phát triển, trong khi sản xuất chúng được lưu vào bộ nhớ đệm. Còn nhiều ví dụ nữa.

Express cung cấp các móc cấu hình cụ thể cho môi trường, được gọi tự động dựa trên giá trị biến NODE_ENV:

app.configure('development', () => {
  //...
})
app.configure('production', () => {
  //...
})
app.configure('production', 'staging', () => {
  //...
})

Ví dụ: bạn có thể sử dụng điều này để đặt các trình xử lý lỗi khác nhau cho chế độ khác nhau:

app.configure('development', () => {
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
})

app.configure(‘production’, () => { app.use(express.errorHandler()) })

Tải xuống miễn phí của tôiSổ tay Node.js


Các hướng dẫn nút khác: