2015-07-25 20 views
6

Tôi có một ứng dụng nút sử dụng ES6. Tôi đang sử dụng Babel để chuyển đổi. Theo như tôi hiểu, hãy sử dụng hệ thống xây dựng như Gulp chẳng hạn hoặc sử dụng require hook. Cách tiếp cận Yêu cầu Hook dường như hấp dẫn tôi vì tôi sẽ có thể giữ các tệp nguồn của tôi trong ES6 nhưng vẫn thực thi chúng bằng cách sử dụng node server.js mà không cần sử dụng một số hệ thống xây dựng.Tôi có thể sử dụng Babel Require Hook trong sản xuất cho ES6 không?

Điều này có vẻ cực kỳ hữu ích để phát triển ít nhất, mối quan tâm chính của tôi là về việc sử dụng phương pháp này trong sản xuất.

  • Bạn có bị phạt bất kỳ khi nào người dùng đưa ra yêu cầu không?
  • Cách hoạt động chính xác?

Đối với ngữ cảnh tôi đang sử dụng nó bằng ứng dụng Express.

+1

FWIW, "hệ thống xây dựng" có thể đơn giản như chạy 'babel src/--out-dir dist /'. Điều này sẽ chuyển đổi tất cả các tập tin trong 'src /' và lưu chúng trong 'dist /'. –

Trả lời

7

Bạn có bị phạt bất kỳ khi nào người dùng đưa ra yêu cầu không?

Không, không theo nghĩa là nó sẽ phải tái mã hóa mã trên mọi yêu cầu.

Cách thức hoạt động chính xác?

Móc yêu cầu về cơ bản hi-jack tất cả các cuộc gọi tiếp theo đến require() và thực hiện transpiling ES6-> ES5 trước khi mô-đun đó được thực hiện.

Tôi đã sử dụng sản phẩm babel yêu cầu móc trong sản xuất một thời gian (với lưu lượng giao thông trung bình - lưu lượng cao nhất trong khoảng hàng trăm dặm/giây) và không bao giờ là vấn đề.

+0

Vì vậy, về cơ bản transpile nó lần đầu tiên và lưu trữ nó hoặc một cái gì đó như thế? –

+0

Sắp xếp (nhưng không thực sự). Ngay cả khi không có babel trong hỗn hợp ở tất cả, bất kỳ mô-đun nhất định chỉ được thực hiện một lần. Rõ ràng nếu nó được xuất khẩu một chức năng hoặc một cái gì đó, chức năng đó có thể được thực hiện bất kỳ số lần, nhưng các mô-đun chính nó chỉ được đánh giá một lần tại thời điểm nó được yêu cầu cho lần đầu tiên. Giới thiệu babel vào hỗn hợp không thay đổi hành vi đó, nó chỉ đơn giản là thực hiện một transpilation trước khi đánh giá một lần. – jmar777

+0

Cảm ơn câu trả lời chi tiết –

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