Tôi đang cố gắng tạo máy chủ kết xuất trước cho ứng dụng ember của mình.Xong trước khi kết xuất: Loại lỗi: 'không xác định' không phải là hàm (đánh giá 'u.bind (e)')
Tôi đã cài đặt ember-prerender
(https://github.com/zipfworks/ember-prerender), sử dụng trình khởi tạo được cung cấp trong/ví dụ, triển khai nó trên một trong các máy chủ của tôi.
Nhưng khi tôi cố gắng để khởi động nó:
[Renderer 0] Engine starting up (phantom)
[Renderer 0] Restarting rendering engine in 25000 seconds after it failed
with error: Phantom encountered an error: TypeError:
'undefined' is not a function (evaluating 'u.bind(e)')
tôi không chắc chắn nơi để xem xét. Tôi cố gắng:
- Xóa tất cả SDK của bên thứ ba (Facebook, Google Analytics)
- Logging các phần khác nhau của mã (sự kiện
XContentReady
dường như bị sa thải) - ra mắt với động cơ
jsdom
thay vìphantom
(cung cấp cho:[Renderer 0] Restarting renderer, timed out while initializing
) - Đang cố gắng trong sản xuất
tôi không biết nơi quá nhìn vào bây giờ. Phần tồi tệ hơn là tôi đã có nó làm việc một vài ngày trước (xem: Ember pre-render: timed out while initializing)
EDIT:
Tôi không nghĩ rằng vấn đề có liên quan gì với mã này, kể từ khi tôi đã làm một hard reset cho một phiên bản đã từng hoạt động.
- Có thể một số phiên bản đã thay đổi (bower, npm, phantom)? Tôi đã cố gắng cập nhật bower lên 1.6, không thành công.
- Có lẽ tôi có phụ thuộc mới gây ra sự cố? Tôi không biết chính xác như thế nào mặc dù
EDIT2: Tôi bắt đầu tươi trên một máy chủ mới, bây giờ tôi nhận Phantom đâm với thông báo lỗi này:
[Renderer 0] Restarting rendering engine in 25000 seconds
after it failed with error: Erroneous exit code: null SIGSEGV
Nếu tôi sử dụng JSDOM tôi vẫn nhận được Restarting renderer, timed out while initializing
CHỈNH SỬA 3: Tôi đã cố gắng bao gồm một polyfill trong ứng dụng của mình. Sử dụng:
- github.com/es-shims/es5-shim
- sau đó là một addon: github.com/pixelhandler/ember-cli-es5-shim
Với không thành công
CHỈNH SỬA 4: Tôi gặp lỗi tương tự với một dự án hoàn toàn mới, chỉ chứa quảng cáo hiển thị hình ảnh ember, vì vậy tôi nghĩ nó được liên kết với công cụ cụ thể của tôi (version: 1.13.13, node: 0.12.3, npm: 2.14.10, os: linux x64
) hoặc gói/cấu hình máy tính của tôi.
"Tôi không nghĩ rằng vấn đề có liên quan gì đến mã" - bạn có thể thử chạy ứng dụng đó trên ứng dụng dọn dẹp mới để xác nhận không? –
Khi bạn nói "ứng dụng ember mới, bạn có nghĩa là điểm cuối" appUrl "phải khác với thời điểm hiện tại không? (' Http: // www.example.com/') hoặc ứng dụng ember đang chạy các pre-render phải là mới (nhưng sau đó tại sao?) – Nicorr
Nếu bạn có thể chạy 'ember new whatever' và kiểm tra nó trên ứng dụng mới đó, sau đó nếu nó hoạt động bạn có thể từng bước thêm mã của bạn từ ứng dụng cha mẹ để thu hẹp vấn đề nếu bạn gặp phải, hoặc hoàn toàn chuyển ứng dụng của bạn và chạy nó mà không gặp vấn đề gì –