Edit: używamy VS2012, ale ogólna zasada powinna działać
Chociaż nie jest to bezpośrednia odpowiedź na twoje pytanie, to jest to praca, którą wymyśliliśmy:
Utwórz moduł dla plików, które chcesz zminimalizować i spakować. Ze względu na dyskusję, nazwij to base_module
.
Tworzenie script
w twojej _layout.cshtml
function requireBaseModulesDebug(func) {
// In debug mode, just execute the call back directly.
// Do not load any base modules, require each module to fully state any dependencies.
func();
}
function requireBaseModulesRelease(func) {
require(["js_modules/base_module"], func);
}
// Views are always in DEBUG mode, so we have to this this work-around.
@if (HttpContext.Current.IsDebuggingEnabled)
{
<text>requireBaseModules = requireBaseModulesDebug;</text>
}
else
{
<text>requireBaseModules = requireBaseModulesRelease;</text>
}
z tym skryptem stworzonym, to wtedy trzeba owijać niczego, co mogłoby użyć modułu takiego:
// If you are in DEBUG mode, requireBaseModules won't do anything
// But, if you are in a release mode, then requireBaseModules will load your
// bundled module and have them primed. Any modules required but NOT in your
// base bundle will be loaded normally.
requireBaseModules(function() {
require(['jQuery'], function ($) {
// Do Stuff
});
});