2012-05-08 24 views
5

que tienen la siguiente estructura de carpetas:¿Cómo se usa RequireJS en una aplicación .NET?

-> personalizados

  • tablas
    • ... JS
  • mejorar
    • ... JS
  • generales
    • ... JS

-> lib

  • jquery
  • jquery.ui

jquery-1.7.2.js
requirejs-1.0.7.js
order.js

Tengo una aplicación .NET con muchos archivos de control ascx que hacen referencia a los archivos JS de la manera tradicional al llamar un archivo JS dentro de una etiqueta de script y luego llamar a alguna función desde ese archivo.

La pregunta es ¿cómo debo (o puedo) Requerir aplicar JS modo que puedo:

1) llame al JS archivos pasado después de todas las imágenes, CSS y HTML se ha cargado, y ...

2) utilizan el concepto de AMD modulising el código

es importante señalar que dentro de cada archivo aspx hay hasta 5 archivos ascx y algunos tienen controles ascx contenidos dentro. Muchos de los archivos ascx tienen JavaScript incorporado dentro de ellos, y muchas de las páginas .master también tienen referencias de archivos JavaScript.

No puedo cambiar la estructura del sitio web (ya que el sitio es bastante grande), así que necesito encontrar una solución.

Gracias

+0

Leyendo su pregunta Puedo decir que tendrá mucho trabajo si opta por usar requirejs. Requiere una herramienta muy buena para aplicaciones web, pero no está cerca de ser amigable con aplicaciones no bien estructuradas. – devundef

+0

Ahora estoy implementando requireJS en una aplicación .NET con gran éxito, el trabajo duro es convertir todas las páginas que llaman javascript y crear módulos para llamar tat si contiene una gran cantidad de código JS o, envolver el código en un requerimiento llamada. sencillo pero sí asignar un montón de trabajo para convertir el sitio. – quinton

+0

Actualización en la implementación de RequireJS: Con la llegada de tener mucho más código adicional JS del lado del cliente requerido para el sitio web select.bestinvest, requireJS fue increíble en la aplicación de la codificación modular en lugar de solo un enfoque descendente y todo en un solo archivo. A pesar de que había una gran cantidad de trabajo para convertir todos los JS para ejecutar y con RequireJS, valió la pena el esfuerzo. – quinton

Respuesta

0

Comprobar este proyecto RequireJS .NET

+0

que es perfecto, ya que estamos implementando (comenzando a implementar) un marco MVC para proyectos en los que estamos trabajando. Ya he convertido todo el código que tenemos para usar requirejs pero esto lo lleva un poco más allá y será útil. – quinton

0

Se llama re-factoring ... v. El veces doloroso proceso de reescritura de una solución previamente un-architected en una buena arquitectura.

0

Esto es más de una respuesta por llamar "InvokeScript()" de un control de explorador Web .NET. Pero Google me llevó hasta aquí y alguien podría encontrarlo útil.

En primer lugar, defina su nuevo módulo AMD como lo haría normalmente.Poner lo que llama "InvokeScript()" con función dentro de este módulo:

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

A continuación, cuando se llega a usar, utilizar el espacio de nombres global que finalmente se establece cuando se carga el módulo:

require(['app'], function (app) { 
    window.mySpecialHandler = app.mySpecialHandler; 
}); 
Cuestiones relacionadas