Pautas para usar los complementos de jQuery y sus dependencias
plugins dependency-management (1)
Los complementos jQuery a menudo tienen dependencias en archivos externos: biblioteca jQuery, hojas de estilo (CSS), imágenes, otros complementos, etc. ¿Cuáles son las pautas para usar (y escribir) complementos jQuery que abordarían la ubicación de las dependencias? En otras palabras, ¿dónde deberían ir los archivos necesarios? Debajo de las carpetas de aplicaciones principales (Img, Css, JS o cualquier carpeta que use), debajo de la carpeta del complemento (por ejemplo, complementos / MyPlugin / Img, complementos / MyPlugin / Css, etc.), ¿o algo mas?
Después de incluir varios complementos en el proyecto, me preocupa que a otros miembros del proyecto les resulte difícil determinar qué dependencias se requieren y qué archivos deberían ir a dónde.
¿Qué funcionó y qué no funcionó para ti?
Personalmente, cuando construyo un complemento, trato de hacer que dependa lo menos posible de otros recursos para evitar este problema. A veces no se puede evitar el uso de hojas de estilo externas, en cuyo caso siempre las puse en mis otros archivos CSS, incluso si se incluyen originalmente en la misma carpeta que los complementos. Esto evita cualquier ambigüedad al tratar de decidir qué hojas de estilo deben ir a donde, etc. Deberá incluirlas manualmente de todos modos. Si el complemento tiene alguna dependencia, van en la carpeta JS, organizada de manera similar a los otros complementos. Las imágenes, en este caso, irían con todas las otras imágenes.
Al crear un complemento, puede hacerlo más flexible permitiendo al usuario definir las clases que se aplican a ciertos objetos, o dejar que el usuario defina la estructura de lo que el complemento manipulará. Todo esto se puede hacer mientras se le da un conjunto de buenos valores predeterminados a seguir mientras se depende lo menos posible de los recursos externos.
En cuanto a si las mejores prácticas se han definido para estas situaciones, todavía no he encontrado ninguna. Solo he encontrado las pautas de creación de plugins en el sitio de jQuery: http://docs.jquery.com/Plugins/Authoring .
EDITAR:
Como aclarar sobre la organización de dependencia de plugin:
Cuando digas que tienes jquery.x.js y jquery.y.js. Ambos dependen de jquery.z.js. Siempre puse jquery.z.js en la misma carpeta que jquery.x.js y jquery.y.js. Esto evita la duplicación y cualquier confusión relacionada con romper la convención de la organización. Asi que:
- ./jquery.x.js
- ./jquery.y.js
- ./jquery.z.js
Normalmente organizo mis carpetas como tal:
- ./js/jquery-xxxjs
- ./js/plugins/jquery.x.js
- ./js/plugins/jquery.y.js
- ./js/plugins/jquery.z.js