Estoy usando jquery en mi aplicación web y necesito cargar más archivos de script jquery en una sola página.
Google sugirió que combine todos los archivos de script jquery en un solo archivo.
¿Cómo puedo hacer esto?
javascript
jquery
jquery-ui
Chandrasekhar
fuente
fuente
Prueba el compilador de cierre de Google:
http://code.google.com/closure/compiler/docs/gettingstarted_ui.html
fuente
Simplemente combine los archivos de texto y luego use algo como el compresor YUI .
Los archivos se pueden combinar fácilmente usando el comando
cat *.js > main.js
y main.js se puede ejecutar a través del compresor YUI usandojava -jar yuicompressor-x.y.z.jar -o main.min.js main.js
.Actualización de agosto de 2014
Ahora he migrado para usar Gulp para la concatenación y compresión de JavaScript, ya que con varios complementos y una configuración mínima puede hacer cosas como configurar dependencias, compilar coffeescript, etc., así como comprimir su JS.
fuente
Puedes hacer esto a través de
include
todos ellos y genere una<script>
etiquetafuente
include
es decir, no hagas <script src = "...."> vincular a varios archivos, solo inclúyelos en un elemento de script. Lo ideal sería utilizar un cdn junto con el almacenamiento en caché adecuado.Normalmente lo tengo en un
Makefile
:# All .js compiled into a single one. compiled=./path/of/js/main.js compile: @find ./path/of/js -type f -name "*.js" | xargs cat > $(compiled)
Entonces corres:
Espero que ayude.
fuente
Utilizo este script de shell en Linux https://github.com/eloone/mergejs .
En comparación con los scripts anteriores, tiene la ventaja de ser muy simple de usar, y una gran ventaja es que puede enumerar los archivos js que desea fusionar en un archivo de texto de entrada y no en la línea de comando, por lo que su lista es reutilizable y no tiene que escribirlo cada vez que desee fusionar sus archivos. Es muy útil, ya que repetirá este paso cada vez que desee pasar a producción. También puede comentar archivos que no desea combinar en la lista. La línea de comando que probablemente escribiría es:
Y si también desea comprimir el archivo combinado resultante:
Esto creará
output-min.js
minificado por el compilador de cierre de Google. O bien:Si desea un nombre específico para su archivo minificado llamado
output.minified.js
Lo encuentro realmente útil para un sitio web simple.
fuente
La agrupación de scripts es contraproducente, debe cargarlos en paralelo usando algo como http://yepnopejs.com/ o http://headjs.com
fuente
Copie este script en el bloc de notas y guárdelo como archivo .vbs. Arrastre y suelte archivos .js en este script.
PD. Esto funcionará solo en Windows.
set objArgs = Wscript.Arguments set objFso = CreateObject("Scripting.FileSystemObject") content = "" 'Iterate through all the arguments passed for i = 0 to objArgs.count on error resume next 'Try and treat the argument like a folder Set folder = objFso.GetFolder(objArgs(i)) 'If we get an error, we know it is a file if err.number <> 0 then 'This is not a folder, treat as file content = content & ReadFile(objArgs(i)) else 'No error? This is a folder, process accordingly for each file in folder.Files content = content & ReadFile(file.path) next end if on error goto 0 next 'Get system Temp folder path set tempFolderPath = objFso.GetSpecialFolder(2) 'Generate a random filename to use for a temporary file strTempFileName = objFso.GetTempName 'Create temporary file in Temp folder set objTempFile = tempFolderPath.CreateTextFile(strTempFileName) 'Write content from JavaScript files to temporary file objTempFile.WriteLine(content) objTempFile.Close 'Open temporary file in Notepad set objShell = CreateObject("WScript.Shell") objShell.Run("Notepad.exe " & tempFolderPath & "\" & strTempFileName) function ReadFile(strFilePath) 'If file path ends with ".js", we know it is JavaScript file if Right(strFilePath, 3) = ".js" then set objFile = objFso.OpenTextFile(strFilePath, 1, false) 'Read entire contents of a JavaScript file and returns it as a string ReadFile = objFile.ReadAll & vbNewLine objFile.Close else 'Return empty string ReadFile = "" end if end function
fuente
Puede usar el compilador Closure como sugiere orangutancloud. Vale la pena señalar que en realidad no es necesario compilar / minificar JavaScript, debería ser posible simplemente concatenar los archivos de texto JavaScript en un solo archivo de texto. Únase a ellos en el orden en que normalmente se incluyen en la página.
fuente
Si está ejecutando PHP, recomiendo Minify porque combina y minimiza sobre la marcha tanto para CSS como para JS. Una vez que lo hayas configurado, simplemente funciona con normalidad y se encarga de todo.
fuente
Puede utilizar KjsCompiler: https://github.com/knyga/kjscompiler Gestión de dependencias geniales
fuente
Puedes usar un guión que hice. Sin embargo, necesitas JRuby para ejecutar esto. https://bitbucket.org/ardee_aram/jscombiner (JSCombiner).
Lo que distingue a esto es que observa los cambios de archivos en javascript y los combina automáticamente con el script de su elección. Así que no es necesario "construir" manualmente su javascript cada vez que lo prueba. Espero que te ayude, actualmente estoy usando esto.
fuente
Esto puede ser un poco de esfuerzo, pero puede descargar mi proyecto wiki de código abierto desde codeplex:
http://shuttlewiki.codeplex.com
Contiene un proyecto CompressJavascript (y CompressCSS) que usa http://yuicompressor.codeplex.com/ proyecto .
El código debería ser autoexplicativo, pero hace que combinar y comprimir los archivos sea un poco más sencillo --- para mí de todos modos :)
El proyecto ShuttleWiki muestra cómo usarlo en el evento posterior a la compilación.
fuente