2012-05-08 42 views
5

我有以下文件夾結構:如何在.NET應用程序中使用RequireJS?

- >自定義

  • 圖表
    • ... JS文件
  • 增強
    • ... JS文件
  • 一般
    • ... JS文件

- > LIB

  • jQuery的
  • jquery.ui

jQuery的1.7.2.js
requirejs-1.0.7.js
order.js

我有一個.NET應用程序,有很多ascx控制文件,通過調用腳本標記內的JS文件以傳統方式引用JS文件,然後從該文件調用某個函數。

問題是我(或可我)實現應該如何要求JS讓我能:

1)調用的所有圖像,CSS和HTML加載後的JS文件最後,並...

2)使用modulising代碼

是很重要的概念,AMD要指出的是,每一個aspx文件中有多達5個ASCX文件和某些具有包含在ASCX控件。許多ascx文件都嵌入了JavaScript,許多.master頁面也有JavaScript文件引用。

我無法改變網站的結構(因爲該網站相當大),所以我需要找到一個解決方案。

感謝

+0

閱讀你的問題如果你選擇使用requirejs,我可以告訴你很多工作。需要一個非常好的網絡應用程序工具,但它不會對非結構良好的應用程序友好。 – devundef

+0

我正在實現requireJS到一個.NET應用程序,現在取得了巨大的成功,艱苦的工作是轉換所有調用JavaScript的頁面,並且如果它包含大量的JS代碼或者將代碼包裝在需要的代碼中,呼叫。直接前進,但是是分配工作來轉換網站。 – quinton

+0

RequireJS實現的更新: 隨着select.bestinvest網站所需的客戶端JS重編碼的分配的出現,requireJS在強制執行模塊化編碼方面非常棒,而不僅僅是一種自頂向下的方法,並將所有文件放在一個文件中。 即使有大量的工作要將所有的JS轉換成與RequireJS一起運行,但它是非常值得的。 – quinton

回答

0

檢查這個項目RequireJS .NET

+0

這是完美的,因爲我們正在實施(開始實施)我們正在構建的項目的MVC框架。我已經轉換了所有我們必須使用requirejs的代碼,但這需要更多一點,並且會有用處。 – quinton

0

這就是所謂的再保...訴改寫先前未解決方案架構成一個良好架構的一個的有時是痛苦的過程。

0

這更多的是一個答案調用「InvokeScript()」從.NET Web瀏覽器控件。但Google在這裏引導我,有人可能會發現這有用。首先,像平常一樣定義你的新的AMD模組。把無論你怎麼稱呼「InvokeScript()」與作爲該模塊內部的功能:

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

然後,當你來使用它,使用全局命名空間,其最終設定當模塊被加載:

require(['app'], function (app) { 
    window.mySpecialHandler = app.mySpecialHandler; 
}); 
相關問題