Utilizando el Microsoft Ajax Minifier con proyecto de instalación Web y control de código fuente
-
22-09-2019 - |
Pregunta
He empezado a investigar el Microsoft Ajax Minifer 4.0 para su uso con una visual Studio 2008 el trabajo de aplicaciones web I activada. Se ha demostrado bastante fácil de enganchar en el archivo .csproj lo que produce archivos .min.js para todas las secuencias de comandos, sin embargo estoy confundido en cuanto a cómo integrar esto con el proyecto de instalación Web y control de código fuente.
En esencia lo que quiero hacer es tener los archivos resultantes .min.js incluidos en el proyecto de instalación Web sin tener ellos incluidos en control de código fuente, ya que:
- Tener que comprobar a cabo antes de la acumulación de ser ejecutor es un dolor (el Minifier no puede modificarlos si no están desprotegidos).
- a medida que se crean como una "acumulación de artefactos" Parece mal a los han almacenado bajo control de origen.
La única opción que he logrado encontrado hasta ahora es incluir explícitamente los archivos .min.js como parte del proyecto de instalación haciendo clic derecho sobre el proyecto de instalación Web y seleccionando "Añadir> Archivo", y luego tener la jerarquía de carpetas correspondiente duplicado en "sistema de archivos en el equipo de destino" para que pueda forzar el archivo a la ubicación correcta. Esto no es ni elegante o sencillo / robusto como:
- Se me obliga a añadir manualmente cada archivo js minified al proyecto de instalación Web a mano
- Mantener una copia de la estructura de directorios relevantes tanto en el proyecto de aplicación Web y el proyecto de instalación Web
- Recuerde añadir nuevos archivos js versiones minified al proyecto de instalación Web
¿Hay una mejor manera de hacer esto?
Solución
La solución que finalmente opté por era incluir la DLL Minifier en mi proyecto y crear un controlador (.ashx) que he reemplazado todas las referencias a los archivos .js con, por lo que:
<script src="MyJsFile.js" type="text/javascript"></script>
se reemplaza con
<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>
Tengo un ajuste de configuración en mi archivo web.config
que me permite determinar si los archivos de secuencia de comandos se minifed o no.
Otros consejos
Uso de la Microsoft Ajax Minifier con control de código fuente
El Microsoft Ajax Minifier genera los archivos JavaScript y CSS minified como la salida del proceso de construcción. Por esta razón, se recomienda que manejar los archivos minified exactamente de la misma manera como lo haría manejar la asambleas generados por la acumulación proceso. En particular, se recomienda que no incluye el minified archivos en el proyecto de Visual Studio y que no se comprueba la minified archivos en control de código fuente.
Si se incluyen los archivos en minified su proyecto, y fuente de empleo control, entonces se encontrará problemas. Cuando los archivos están desprotegidos de control de la fuente, se comprueban con sus atributos de sólo lectura conjunto. Si intenta hacer una construcción, la Microsoft Ajax Minifier generará un error cuando se intenta escribir un archivo de sólo lectura.
Fuente: Microsoft
A mi entender, este medio no se suman los archivos -MIN al proyecto, eso es todo. Cuando IIS construirá la aplicación, se creará automáticamente los archivos. Creo que debe tener Microsoft Minifier 4.0 para ser instalado en el servidor web Tho.