Đầu tiên một chút về lịch sử, chúng tôi có một công cụ được tạo thành từ nhiều tệp javascript về cơ bản là các mô-đun. Các mô-đun này trả về một lớp duy nhất được gán cho phạm vi toàn cục, mặc dù trong một không gian tên được chỉ định.Làm cách nào để mô-đun Javascript được xác định với AMD được mở rộng?
Bản thân động cơ được sử dụng để hiển thị nội dung eLearning, với mỗi khóa học eLearning khác nhau đòi hỏi nhu cầu hơi khác nhau, đó là nơi chúng tôi đưa tệp javascript vào trang dựa trên chức năng cần thiết. (Chỉ có một trang mục nhập).
Tôi đã cố gắng cân nhắc nếu nó có giá trị thay đổi đối với AMD, require.js và r.js hoặc nếu tốt hơn nên ở lại với hệ thống hiện tại của chúng tôi bao gồm mọi thứ cần thiết trên trang và thu nhỏ nó thành một tập lệnh.
Một trong những vấn đề lớn nhất của tôi khi đi đến AMD sẽ khiến việc mở rộng lớp học trở nên khó khăn hơn. Ví dụ, đôi khi chúng ta phải điều chỉnh hành vi của lớp gốc một chút. Vì vậy, chúng tôi thêm một tập lệnh khác bao gồm trên trang mở rộng lớp gốc bằng cách sao chép nguyên mẫu ban đầu, thực thi chức năng ban đầu bị ghi đè khi áp dụng và sau đó thực hiện bất kỳ mã bổ sung nào là bắt buộc.
Bạn có thể mở rộng mô-đun AMD mà không cần điều chỉnh tệp gốc không? Hay tôi đang thiếu điểm và chúng tôi đang ở lại tốt nhất với những gì chúng tôi đang làm vào lúc này?
Xin chào Joseph, cảm ơn phản hồi của bạn nhưng đó không phải là câu hỏi tôi đã hỏi. Bạn đang tạo các phiên bản của hàm tạo ban đầu.Tôi muốn có một định nghĩa của nói 'động cơ', được sử dụng trong một định nghĩa cho một mục khác, hãy nói 'contentScreen'. Tuy nhiên, giữa định nghĩa về 'engine' và việc tạo ra 'contentScreen' tôi muốn mở rộng 'engine' một chút. –
@John_ ý bạn là gì khi "mở rộng một chút"? xây dựng một constructor sửa đổi và sau đó sử dụng constructor đã sửa đổi đó? [điều này có thể giúp] (http://stackoverflow.com/a/10101604/575527) – Joseph
Về cơ bản có, tôi không muốn tạo một lớp mới mở rộng bản gốc, tôi thực sự muốn mở rộng bản gốc và sử dụng nó, bởi vì theo như mọi thứ khác thì nó vẫn là cùng một lớp. Theo như tôi có thể nói tôi không thể làm điều đó với AMD? –