Я использую jquery в своем веб-приложении, и мне нужно загрузить больше файлов сценариев jquery на одну страницу.
Google предложил объединить все файлы сценариев jquery в один файл.
Как я могу это сделать?
javascript
jquery
jquery-ui
Чандрасекхар
источник
источник
Попробуйте компилятор закрытия Google:
http://code.google.com/closure/compiler/docs/gettingstarted_ui.html
источник
Просто скомбинируйте текстовые файлы, а затем используйте что-то вроде YUI Compressor .
Файлы можно легко объединить с помощью команды,
cat *.js > main.js
а затем main.js можно запустить через компрессор YUI с помощьюjava -jar yuicompressor-x.y.z.jar -o main.min.js main.js
.Обновление август 2014 г.
Теперь я перешел на использование Gulp для объединения и сжатия javascript, поскольку с различными плагинами и некоторой минимальной конфигурацией вы можете делать такие вещи, как настройка зависимостей, компиляция coffeescript и т. Д., А также сжатие вашего JS.
источник
Вы можете сделать это через
include
их всех и выведите в<script>
тегисточник
include
т.е. не делайте <script src = "...."> ссылки на несколько файлов, просто включите их в один элемент скрипта. В идеале следует использовать cdn вместе с надлежащим кешированием.Обычно он у меня есть
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)
Затем вы запускаете:
Я надеюсь, что это помогает.
источник
Я использую этот сценарий оболочки в Linux https://github.com/eloone/mergejs .
По сравнению с приведенными выше сценариями, он имеет преимущества в том, что он очень прост в использовании, а большим плюсом является то, что вы можете перечислить файлы js, которые хотите объединить, во входном текстовом файле, а не в командной строке, поэтому ваш список можно использовать повторно и вам не нужно вводить его каждый раз, когда вы хотите объединить файлы. Это очень удобно, так как вы будете повторять этот шаг каждый раз, когда захотите запустить производство. Вы также можете комментировать файлы, которые не хотите объединять в списке. Командная строка, которую вы, скорее всего, наберете:
И если вы хотите также сжать полученный объединенный файл:
Это создаст
output-min.js
минифицированный компилятором закрытия Google. Или :Если вам нужно конкретное имя для мини-файла с именем
output.minified.js
Я считаю, что это действительно полезно для простого веб-сайта.
источник
Группировка скриптов контрпродуктивна, вы должны загружать их параллельно, используя что-то вроде http://yepnopejs.com/ или http://headjs.com
источник
Скопируйте этот сценарий в блокнот и сохраните как файл .vbs. Перетащите файлы .js в этот скрипт.
пс. Это будет работать только в окнах.
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
источник
Вы можете использовать компилятор Closure, как предлагает orangutancloud. Стоит отметить, что на самом деле вам не нужно компилировать / минимизировать JavaScript, должно быть возможно просто объединить текстовые файлы JavaScript в один текстовый файл. Просто присоединяйтесь к ним в том порядке, в котором они обычно указываются на странице.
источник
Если вы используете PHP, я рекомендую Minify, потому что он объединяет и минимизирует на лету как CSS, так и JS. После того, как вы настроили его, просто работайте как обычно, и он позаботится обо всем.
источник
Вы можете использовать KjsCompiler: https://github.com/knyga/kjscompiler Классное управление зависимостями
источник
Вы можете использовать сценарий, который я сделал. Однако для этого вам понадобится JRuby. https://bitbucket.org/ardee_aram/jscombiner (ЗАОкомбинер).
Что отличает его, так это то, что он отслеживает изменения файлов в javascript и автоматически объединяет их с выбранным вами сценарием. Таким образом, нет необходимости вручную «создавать» свой javascript каждый раз, когда вы его тестируете. Надеюсь, это поможет вам, в настоящее время я использую это.
источник
Это может потребовать определенных усилий, но вы можете загрузить мой вики-проект с открытым исходным кодом с codeplex:
http://shuttlewiki.codeplex.com
Он содержит проект CompressJavascript (и CompressCSS), который использует проект http://yuicompressor.codeplex.com/ .
Код должен быть понятным, но он упрощает объединение и сжатие файлов - по крайней мере, для меня :)
В проекте ShuttleWiki показано, как использовать его в событии после сборки.
источник