2011-10-14 16 views
5

Quiero incluir el archivo JS dentro de otro archivo JS, en el servidor, para evitar que se copien y peguen varios archivos JS desde el cliente. Al igual que include ('file.js') como lo haría PHP.¿Cómo incluyo archivos javascript en el servidor?

+0

Gracias por las respuestas, pero solo quiero que se haga en el servidor, con una sola carga de archivo javascript desde el cliente. Prefiero convertir .js en .php (o reescribir) y usar PHP include y luego header ('content-type: text/javascript). ¿Alguna otra solución? –

Respuesta

2

Como Supercharging javascript sugiero un artículo - con PHP puede leer todos sus archivos .js y crear un archivo grande js que enviará en una sola pieza.

Esta es una simplificación del ejemplo del artículo, sólo para empezar:

<?php 
define('SCRIPT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/script/'); 

$files = array(
    'jquery.js', 
    'myLib.js', 
    'site.js' 
); 

header('Content-Type: text/javascript'); 
foreach (files as $file) { 
    if (@readfile(SCRIPT_DIR . $file) === false) { 
     error_log("javascript.php: Error reading file '$file'"); 
    } 
} 
?> 

Yo también lo recomendaría para leer el artículo completo Supercharging JavaScript in PHP para obtener más información.

+0

Sí, eso es en lo que estoy pensando. No necesito una biblioteca para eso. Puedo hacerlo solo en unos pocos códigos. Gracias :) –

3

No hay está construido en forma de incluir otros archivos JavaScript desde un archivo JavaScript ... pero se puede añadir en el DOM - uso>

function addJavascript(jsname,pos) { 
    var th = document.getElementsByTagName(pos)[0]; 
    var s = document.createElement('script'); 
    s.setAttribute('type','text/javascript'); 
    s.setAttribute('src',jsname); 
    th.appendChild(s); 
} 

Ejemplo:

addJavascript('newExternal.js','body'); 
+0

Definitivamente voy a votar esto por el lindo código, pero mejor manejo de problemas de ruta, orden de carga de guiones y administración de dependencias a un gestor de secuencia de comandos :) – Deeptechtons

0

Usted Tendré que usar un gestor de secuencia de comandos y me gustaría recomendar script.js de Dustin Diaz que trabaja en Twitter. Project Page on Github. Aquí es cómo lo usa suponiendo que tiene un plugin de jQuery para ser cargado en una página aquí es lo que debe hacer

// load jquery and plugin at the same time. name it 'bundle' 
$script(['jquery.js', 'my-jquery-plugin.js'], 'bundle') 

// load your usage 
$script('my-app-that-uses-plugin.js') 


/*--- in my-jquery-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // jquery & plugin (this file) are both ready 
    // plugin code... 
}) 


/*--- in my-app-that-uses-plugin.js ---*/ 
$script.ready('bundle', function() { 
    // use your plugin :) 
}) 

ejemplo es también de página del proyecto. Estos son los pasos que debe seguir

  1. cargar el archivo primero
  2. ahora incluyen la secuencia de comandos del cargador que carga la dependencia de los demás querían guiones asíncrono [el contenido de la escritura de la dependencia del cargador sería como antes]
  3. los script.js
1

JSfile = "1.js, 2.js, 3.js"

para el bucle que

document.write();

Cuestiones relacionadas