section - razor javascript
Organizando javascripts personalizados en asp.net mvc 4 (2)
Soy nuevo en mvc 4 y me pregunto dónde debo colocar mis archivos javascript personalizados. Por ''personalizado'', me refiero a los scripts que solo se usan en Vistas específicas o PartialViews.
Yo uso Áreas también, así que eso suma la complejidad. Estaba pensando en colocar mis scripts en la carpeta Script en la raíz de la aplicación y luego en una subcarpeta personalizada.
¿Cómo haría referencia a los scripts en mis vistas? ¿Debo usar paquetes personalizados?
Puedes organizar tus scripts en la carpeta Scripts
:
- ~ / Scripts / Inicio / foobar.js
- ~ / Scripts / Admin / baz.js
- ...
¿Debo usar paquetes personalizados?
Claro, puedes agrupar los scripts que siempre van juntos.
Creo que agregar tus scripts a una carpeta personalizada en tu carpeta es el camino a seguir. puede crear un nuevo paquete en el archivo appstart/BundleConfig.cs
la siguiente manera:
bundles.Add(new ScriptBundle("~/bundles/custom").Include(
"~/Scripts/Custom/myCustom.js",
"~/Scripts/Custom/myCustom2.js"));
y luego agregar el bundle
a su vista de esta manera:
@section scripts{
@Scripts.Render("~/bundles/custom")
}
esto se procesará en la línea @RenderSection("scripts", required: false)
en su archivo de layout
.
O
Para llamar solo un script
específico para su view
puede hacer:
@section scripts{
<script src="~/Scripts/Custom/myCustom.js"></script>
}
nota: puede arrastrar el archivo de script desde el solution explorer
a la sección. No tienes que escribir todo el camino.
EDITAR - parece importante, así que copié esto de mi último comentario:
para usar la minification
necesita agregar su script a la tabla de paquetes y agregar BundleTable.EnableOptimizations = true;
al archivo BundleConfig
o al conjunto <compilation debug="false"
en su archivo web.config
.