2012-06-28 19 views
8

Duplicar posibles:
How to include js file in another js file?Cómo importar/incluir archivos fuente en JavaScript?

Supongamos que tengo un par de archivos de código fuente de JavaScript: a.js, a1.js y a2.js. Las funciones de a.js invocan funciones de a1.js y a2.js.

Ahora tengo que declarar todos estos archivos en mi página HTML. Me gustaría declarar solo a.js en el HTML e "importar/incluir" a1.js y a2.js en el archivo fuente a.js.

¿Tiene sentido? ¿Puedo hacer eso en JavaScript?

+1

Para hacer esto, usted debe utilizar una herramienta como [require.js] (http://requirejs.org/), o concatene sus archivos js (y minítelos en el mismo movimiento, por ejemplo, usando el [compilador de cierre] (https://developers.google.com/). cierre/compilador /)). No puede especificar importaciones en vainilla javascript. –

+0

@devsundar ¿por qué no solicitó cerrar como duplicado? –

+0

@dystroy Gracias por su sugerencia. Inicialmente estaba buscando una opción para cerrar. Lo hice ahora usando la opción "bandera". No fue intuitivo para mí ... – 18bytes

Respuesta

8

No puede especificar importaciones en vainilla javascript.

por lo que sus soluciones (con exclusión de los marcos del lado del servidor pesada) son:

  • simplemente hacer las importaciones

  • concatenan sus archivos js (y Minify ellos en el mismo movimiento, por exemple utilizando el closure compiler)

  • utilizar un módulo de iTool gustaría require.js

Siempre y cuando no tenga experiencia, y si su número de archivos es bajo (menos de 15), le recomiendo simplemente elegir la primera o la segunda solución. El uso de un cargador de módulos puede tener efectos secundarios que no desea depurar cuando comienza a aprender javascript.

2

Puede agrupar archivos JavaScript (y también CSS) utilizando ciertas herramientas para reducir la cantidad de archivos que debe incluir. Esto también aumenta el rendimiento de carga de la página.

Estas herramientas combinan varios archivos JavaScript en un único archivo JavaScript (opcionalmente también minimizan los archivos) y múltiples archivos CSS en un solo archivo CSS. Esto da como resultado una menor cantidad de conexiones HTTP desde el navegador al servidor, por lo que hay menos cosas que recuperar en serie.

ASP.Net MVC 4 se ha incorporado en el apoyo a este:

http://theshravan.net/bundling-and-minification-support-in-asp-net-mvc-4/

Hay un número de soluciones para otros entornos, así como Juicer.

Si no puede agrupar todos los recursos (tal vez algunos provienen de un CDN mientras que otros se sirven localmente), puede usar un administrador de carga como require.js.

6

Se pueden importar:

<script type="text/javascript"src="a1.js"></script> 
<script type="text/javascript"src="a2.js"></script> 
<script type="text/javascript"src="a3.js"></script> 

si desea hacerlo directamente desde la JS, puede usar Ajax, este post se explica cómo: include-javascript-file-inside-javascript-file

+1

Esto no ayuda con la importación de un módulo específico de una biblioteca. – shinzou

Cuestiones relacionadas