2012-05-08 30 views
5

Tôi có cấu trúc sau đây thư mục:Làm thế nào để bạn sử dụng RequireJS trong một ứng dụng .NET?

-> tùy chỉnh

  • bảng xếp hạng
    • ... file JS
  • tăng cường
    • ... file JS
  • chung
    • ... file JS

-> lib

  • jquery
  • jquery.ui

jquery-1.7.2.js
requirejs-1.0.7.js
order.js

Tôi có ứng dụng .NET với nhiều tệp kiểm soát ascx tham chiếu tệp JS theo cách truyền thống bằng cách gọi tệp JS trong thẻ tập lệnh và sau đó gọi một số chức năng từ tệp đó.

Câu hỏi là làm thế nào tôi (hoặc tôi có thể) thực hiện nên Yêu cầu JS vì vậy mà tôi có thể:

1) gọi JS tập tin cuối sau khi tất cả hình ảnh, css và html đã được nạp, và ...

2) sử dụng khái niệm AMD về việc modulising mã

Điều quan trọng là chỉ ra rằng trong mỗi tệp aspx có tối đa 5 tệp ascx và một số có điều khiển ascx chứa bên trong. Rất nhiều tệp ascx đã nhúng JavaScript bên trong chúng và rất nhiều trang .master cũng có tham chiếu tệp JavaScript.

Tôi không thể thay đổi cấu trúc của trang web (vì trang web khá lớn), vì vậy tôi cần tìm giải pháp.

Cảm ơn

+0

Đọc câu hỏi của bạn Tôi có thể cho biết bạn sẽ có nhiều công việc nếu bạn chọn sử dụng requirejs. Yêu cầu một công cụ rất tốt cho các ứng dụng web, nhưng nó không thân thiện với ứng dụng không được cấu trúc tốt. – devundef

+0

Tôi đang thực hiện requireJS thành một ứng dụng .NET ngay bây giờ với thành công lớn, công việc khó khăn là chuyển đổi tất cả các trang gọi javascript và tạo mô-đun cho tat call nếu nó chứa một lượng lớn mã JS hoặc, bọc mã trong một yêu cầu gọi điện. thẳng về phía trước nhưng có tất cả công việc để chuyển đổi trang web. – quinton

+0

Cập nhật về việc triển khai RequireJS: Với sự ra đời của việc có thêm mã JS nặng cho khách hàng yêu cầu cho trang web select.bestinvest, requireJS là tuyệt vời trong việc thực thi mã hóa mô đun thay vì chỉ là phương pháp tiếp cận từ trên xuống và đặt tất cả trong một tệp. Mặc dù có một số lượng lớn công việc để chuyển đổi tất cả các JS để chạy trong và với RequireJS, nó cũng có giá trị nỗ lực. – quinton

Trả lời

0

Kiểm tra dự án này RequireJS .NET

+0

hoàn hảo, vì chúng tôi đang triển khai (bắt đầu triển khai) khung MVC cho các dự án mà chúng tôi đang xây dựng. Tôi đã chuyển đổi tất cả các mã, chúng tôi đã sử dụng requirejs nhưng điều này có nó thêm một chút và sẽ được sử dụng. – quinton

0

Nó được gọi là tái bao thanh toán ... v. Quá trình đôi khi đau đớn của viết lại một giải pháp trước đó un-kiến trúc thành một kiến ​​trúc tốt.

0

Đây là chi tiết của một câu trả lời cho gọi "InvokeScript()" từ một NET điều khiển trình duyệt web. Nhưng Google đã dẫn tôi đến đây và ai đó có thể thấy điều này hữu ích.

Đầu tiên, hãy xác định mô-đun AMD mới của bạn như bình thường.Đặt bất cứ điều gì bạn gọi là "InvokeScript()" với như một chức năng bên trong mô-đun này:

define (... { 
    var mySpecialHandler = function() { 
     // do stuff 
    }; 
    return { 
     mySpecialHandler: mySpecialHandler 
    } 
}); 

Sau đó, khi bạn đến sử dụng nó, sử dụng không gian tên toàn cầu mà cuối cùng thiết lập khi các mô-đun được nạp:

require(['app'], function (app) { 
    window.mySpecialHandler = app.mySpecialHandler; 
}); 
Các vấn đề liên quan