Как мне сжать tinymce и все плагины в статический файл? - PullRequest
8 голосов
/ 22 октября 2011

Документация для tinymce отмечает, что можно сжать все javascript и компоненты (которые я предполагаю, включая плагины) в один файл. Они отмечают причины, по которым можно и этого не хотеть.

Сжатие в статический файл

Также возможно просто объединить необходимые компоненты и некоторый шаблонный код в один файл .js. Однако вам всегда придется заново создавать этот файл, если вы хотите использовать другие плагины TinyMCE или обновите TinyMCE. Вы также, вероятно, захотите настроить свой веб-сервер для сжатия файлов JavaScript.

Но если предположить, что кто-то действительно хотел это сделать, то как на самом деле это происходит? Build.xml не обеспечивает соответствующей задачи, как кажется. По крайней мере, когда я попробовал это, плагины, казалось, не были включены, когда я загрузил tiny_mce.js.

Ответы [ 2 ]

2 голосов
/ 07 мая 2012

Для этого есть несколько действительно хороших инструментов командной строки, но вы также можете легко сделать это с помощью простого текстового редактора.Самый простой способ - просто открыть каждый файл, скопировать содержимое и вставить содержимое в один файл JS (скажем, "everything-all-Together.js").Вам нужно убедиться, что вы вставили файлы в один файл в том же порядке, в котором вы поместили бы теги сценария в документ HTML.Как только вы соберете все файлы вместе, вы сможете использовать такие инструменты, как JSXMin, YUI Compressor или Google Closure.Есть также некоторые инструменты онлайн, которые делают это, например http://www.minifyjavascript.com/.. Вы можете вставить несжатый JS и скопировать обратно сжатый JS.Это делает процесс сборки действительно громоздким, но если вам просто нужно сделать это один раз, это приведет вас туда.

Лучший способ сделать это - сделать это как шаг сборки для сайта.Это означает, что когда вы вносите изменения в файлы JS, вы перестраиваете сжатый файл JS, чтобы также включить эти изменения.Это может быть громоздким шагом, если вы быстро выполняете итерации и меняете файлы снова и снова.Вам не нужно перестраивать сжатый файл при каждом сохранении.Вы можете решить эту проблему, настроив режимы разработки и производства сайта.При загрузке в режиме разработки файлы JS не группируются вместе.Когда все необходимые изменения будут внесены, вы перезапустите этап сборки, чтобы сгенерировать один сжатый файл JS.Для минимизации из командной строки вы, вероятно, захотите использовать Google Closure: https://developers.google.com/closure/compiler/. Если вы загрузите приложение компилятора, вы можете сделать следующее:

java -jarcompiler.jar some-file.js some-other-file.js> compiled.js

Это создаст файл с именем compiled.js, который включает в себя содержимое some-file.js и some-other-file.js в уменьшенном формате.Вы можете указать столько файлов для компиляции, сколько вам нужно.На самом деле, я продаю Closure немного коротко, чтобы сказать, что оно просто минимизировано.Это также чрезвычайно оптимизированный код.Практически каждый сайт должен постоянно делать это для всех JS, если только они не делают что-то лучше.

0 голосов
/ 25 января 2012

Надеюсь, я правильно понимаю вас (и документы по tinymce), но это похоже на объединение файлов JavaScript на стороне сервера.Это означает, что нужно взять содержимое всех ваших файлов JS, поместить их в один файл и вернуть его клиенту.

Почему бы вы сделали это?Ну, это должно быть очевидно, но ... вы уменьшаете количество HTTP-запросов к вашему серверу, что всегда хорошо.

Как как вы это делаете?Существует множество решений для всех серверных языков и сред, я предлагаю выполнить поиск в Google по запросу «[ваш язык] javascript minifier» или что-то подобное.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...