Credo che il problema ti ha colpito è che se si è utilizzato definisce anonimi. Se si desidera un file di script combinato/bundle che contiene tutte le definisce, dovrete assegnare loro un nome.
es.
define("someModule", ["jquery", "ko"], function($,ko) { ... });
invece di
define(["jquery", "ko"], function($,ko) { ... });
Se si utilizzano i nomi di file come i nomi di modulo, sarete in grado di caricare in modo asincrono loro (non in bundle), così come precaricato (in dotazione). In questo modo puoi lavorare in modalità di debug e in modalità di rilascio senza dover modificare le tue esigenze.
Non ho esperienza con il RequireJS ottimizzatore di sapere se si prende cura di definisce anonimi o meno.
UPDATE:
Recentemente ho dovuto fare questo e uno dei problemi che ho incontrato è stato l'attributo data-principale dei require.js carico tag script. Dal momento che il file main.js aveva dipendenze dei moduli in bundle, hanno bisogno di essere caricato prima main.js ma dopo require.js. Quindi ho dovuto abbandonare data main e caricare quel file (unbundled) per ultimo.
da
<script src="../JS/require-v2.1.2.js" type="text/javascript" data-main="main.js"></script>
a
<script src="../JS/require-v2.1.2.js" type="text/javascript"></script>
<%: System.Web.Optimization.Scripts.Render("~/bundles/signup") %>
<script src="main.js" type="text/javascript"></script>
non ho guardato, ma se la configurazione fascio potrebbe garantire main.js è l'ultima, quindi non sarebbe nemmeno bisogno che lo scorso tag script.
fonte
2012-11-13 21:59:47
Dal momento che l'approccio di AMD si basa fortemente su script caricamento di altri script , Credo che la tua migliore scommessa sia o minimizza ciascuno script indipendentemente (senza raggruppamento) o, in effetti, usa l'ottimizzatore RequireJS che prova a rilevare le inclusioni e il bundle del modulo di conseguenza. – Avish