yr4ik Опубликовано 31 января, 2018 Жалоба Поделиться Опубликовано 31 января, 2018 (изменено) Smarty Minify 1.3 (сжатие и упаковка js, css и less). Данный модуль позволяет сжимать и объеденять css, js, less файлы и коды с возможностью сжатия через gzip и дальнейшим кэшированием. Для vqmod версии:Установка1) содержимое архива залить на сайт в папку vqmod/mod2) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка установить Smarty Minify3) если все хорошо увидим надпись: Модуль установлен Удаление1) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать удалить на Smarty Minify2) если все хорошо увидим надпись: Модуль удален ПримечаниеДля установки нужен vqmod v 2.8 и старше тема о vqmodЕсли обновляли vqmod то пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать переустановить Smarty Minify Для установки not vqmod:Инструкция по установке без vqmod Как использовать: После установки в файле шаблона где мы выводим js и css (обычно index.tpl) необходимо разместить коды: {stylesheet minify=false} для вывода css (обычно перед </head>) ........... {javascript combine=false} для вывода js (обычно перед </body>)данные теги могут принимать параметры (если они не указаны то возьмутся глобальные из настроек vqmod в config/config.php):combine=true - паковать все в один файл / false - не паковатьminify=true - сжить код / false - не сжиматьid - идентификатор. Вывести с очереди js или css с указанным идДанные коды служат для вывода наших скриптов и стилей. Далее как добавлять js и css: Добавлять их можно с каких угодно tpl. Варианты добавления: CSS:Регистрация сразу нескольких файлов {css id="libs" include=[ "design/{$settings->theme}/css/bootstrap.css", "design/{$settings->theme}/css/animate.css", "design/{$settings->theme}/css/style.css" ]}{/css} регистрация 1 файла: {css id="theme" include="design/{$settings->theme}/css/theme.css"}{/css} регистрация 1 файла и произвольного кода: {css id="mycode" include="design/{$settings->theme}/css/mycode.css" render=true} .my_class { color: red } {/css} убрать код с регистрации: {unset_css id="mycode"} данные функции принимают параметры:id* - служит для идентификации (обязательный параметр)include - строка или массив строк для добавления в очередьpriority - приоритет вывода. По умолчанию равен 10 (если не указывать файлы будут становится один за одним согласно вызову функций) Чем больше приоритет тем он быстрее будет на выводеless - если установленно true то данному ресурсу будет применен синтаксис less и перекодирован в css. (по умолчанию: false)render - если данный параметр установлен в true то код на очередь не станет, а будет выведен прямо в месте вызова функции. Параметры minify и combine буруться глобальные.minify - если данный параметр установлен в true то к данному ресурсу будет применятся сжатие. Если false - то файлы принадлежащие данному id не будут сжиматся. (по умолчанию: значение config.php)combine - если данный параметр установлен в true то к данному ресурсу будет применятся упаковка в один файл. Если false - то файлы принадлежащие данному id не будут паковатся в один файл. (по умолчанию: значение config.php) JavaScripts:Тут сильно расписывать не буду. Все параметры идентичны css за исключением параметра less.Регистрация сразу нескольких js-файлов: {js id="libs" priority=99 include=[ "design/{$settings->theme}/js/jquery-2.1.1.min.js", "design/{$settings->theme}/js/bootstrap.min.js" ]}{/js} Удаление из очереди: {unset_js id="mycode"} PHP:я думаю это мало кому нужно, но поскольку есть все нужные api то регистрацию нужных js css можно делать в php.описывать не буду. Комментарии есть в самих api. Полезные ссылки: Пример использования модуля на стандартном шаблонеЧто такое less и возможности данной библиотекиТема о vqmodИнструкция по установке без vqmodВсегда актуальные версии на githubSmartyMinify_1.3.zipSmartyMinify_1.3_not_vqmod.zip Изменено 14 сентября, 2018 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 31 января, 2018 Жалоба Поделиться Опубликовано 31 января, 2018 (изменено) А может в 2018 пора Webpack уже ставить?Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще... Изменено 31 января, 2018 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 31 января, 2018 Жалоба Поделиться Опубликовано 31 января, 2018 (изменено) А может в 2018 пора Webpack уже ставить?Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...На самом деле это всё может сделать несложный скрипт, который на лету прочитает необходимые файлы, заменит переменные если надо и приведет весь код к одной строке убрав комменты. Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака. Изменено 31 января, 2018 пользователем a13x Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 31 января, 2018 Жалоба Поделиться Опубликовано 31 января, 2018 Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака. Установка легкая, настрйока в данном конексте — тоже, нам же не нужны всякие babel дял перегона с ES6...Ну и Вебпак и правда может быть избыточным, можно и Gulp — сейчас у меня он Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 31 января, 2018 Автор Жалоба Поделиться Опубликовано 31 января, 2018 А может в 2018 пора Webpack уже ставить?Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...Ну насколько я знаю вебпак есть смысл использовать только если проект большой и имеет много различных модулей. В симпле, я думаю, это далеко лишнее. Поскольку в среднем шаблон ограничивается 2-5 css и 3-7 js файлов. Поэтому использование вебпака для симплы - я думаю лишнее. + большая сложность в конфигурации для обычного среднестатистического пользователя... Если начнете писать статью - как это добавить в симплу и как использовать... Предполагаю не мало времени уйдет... Цитата Ссылка на сообщение Поделиться на другие сайты
ABSORBER Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 А может в 2018 пора Webpack уже ставить?Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...Gulp'а более чем предостаточно для решения подобных задач. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 Gulp'а более чем предостаточно для решения подобных задач.Не для симплы, ибо система давно стоит на месте и галп для Пикусова нечто новое, впрочем как и все новые технологии последних 5! лет... Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 Опять же все всё усложняют. Gulp, webpack,... 2 простых пхп скрипта всё решают в разы быстрее чем подключать большие библиотеки и разбираться в них, но видимо многие привыкли усложнять себе жизнь, чем наоборот искать простые пути для решения проблем. Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) <?php require_once('api/Settings.php'); //минимизация вывода кода function sanitize_output($buffer) { $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' '), '', $buffer); $buffer = str_replace(' ', ' ', $buffer); return $buffer; } $settings = new Settings(); // Ширина $sheme["main_width"] = $settings->main_width; // Основной цвет $sheme["primary_color"] = $settings->primary_color; // Второй цвет $sheme["secondary_color"] = $settings->secondary_color; // Цвет фона $sheme["bg_color"] = $settings->bg_color; //директория для изображений $sheme["images"] = $settings->paths["images"]; // выводит /assets/images/ //директория для шрифтов $sheme["fonts"] = $settings->paths["fonts"]; // выводит /assets/fonts/ $path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"]; $css3 = ""; $css3 .= file_get_contents($path."general.css"); $css3 .= file_get_contents($path."libs.css"); $css3 .= file_get_contents($path."animate.css"); $css3 .= file_get_contents($path."adaptive.css"); //переменные в css <$название> foreach($sheme AS $name => $value) $css3 = str_replace("<\$".$name.">", $value, $css3); //если его надо обрабатывать на переменные, то перенести выше, в $css3 $bootstrap = file_get_contents($path."bootstrap.css"); header("Content-type: text/css"); echo sanitize_output($bootstrap.$css3); die(); Для css.Для js будет почти такой же только функция для формирования вывода будет чуть другая. Изменено 1 февраля, 2018 пользователем a13x Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) <?php require_once('api/Settings.php'); //минимизация вывода кода function sanitize_output($buffer) { $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' '), '', $buffer); $buffer = str_replace(' ', ' ', $buffer); return $buffer; } $settings = new Settings(); // Ширина $sheme["main_width"] = $settings->main_width; // Основной цвет $sheme["primary_color"] = $settings->primary_color; // Второй цвет $sheme["secondary_color"] = $settings->secondary_color; // Цвет фона $sheme["bg_color"] = $settings->bg_color; //директория для изображений $sheme["images"] = $settings->paths["images"]; // выводит /assets/images/ //директория для шрифтов $sheme["fonts"] = $settings->paths["fonts"]; // выводит /assets/fonts/ $path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"]; $css3 = ""; $css3 .= file_get_contents($path."general.css"); $css3 .= file_get_contents($path."libs.css"); $css3 .= file_get_contents($path."animate.css"); $css3 .= file_get_contents($path."adaptive.css"); //переменные в css <$название> foreach($sheme AS $name => $value) $css3 = str_replace("<\$".$name.">", $value, $css3); //если его надо обрабатывать на переменные, то перенести выше, в $css3 $bootstrap = file_get_contents($path."bootstrap.css"); header("Content-type: text/css"); echo sanitize_output($bootstrap.$css3); die(); Для css.Для js будет почти такой же только функция для формирования вывода будет чуть другая. то есть верстальщику надо лезть в php что бы подключить css? а если на каждой странице подключены свои css и javascript файлы или надо вставить блок стилей или скриптов? решение автора, я не проверял но смысл понятен, очень даже зачетное. Если создаются кеш файлы то вообще круто. Вместо того что бы умничать создавали бы свои темы и на практике показали как вы видите решение подобных задач вместо того что бы засирать тему исключительно теоретическими замечаниями. Изменено 1 февраля, 2018 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 февраля, 2018 Автор Жалоба Поделиться Опубликовано 1 февраля, 2018 <?php require_once('api/Settings.php'); //минимизация вывода кода function sanitize_output($buffer) { $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' '), '', $buffer); $buffer = str_replace(' ', ' ', $buffer); return $buffer; } $settings = new Settings(); // Ширина $sheme["main_width"] = $settings->main_width; // Основной цвет $sheme["primary_color"] = $settings->primary_color; // Второй цвет $sheme["secondary_color"] = $settings->secondary_color; // Цвет фона $sheme["bg_color"] = $settings->bg_color; //директория для изображений $sheme["images"] = $settings->paths["images"]; // выводит /assets/images/ //директория для шрифтов $sheme["fonts"] = $settings->paths["fonts"]; // выводит /assets/fonts/ $path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"]; $css3 = ""; $css3 .= file_get_contents($path."general.css"); $css3 .= file_get_contents($path."libs.css"); $css3 .= file_get_contents($path."animate.css"); $css3 .= file_get_contents($path."adaptive.css"); //переменные в css <$название> foreach($sheme AS $name => $value) $css3 = str_replace("<\$".$name.">", $value, $css3); //если его надо обрабатывать на переменные, то перенести выше, в $css3 $bootstrap = file_get_contents($path."bootstrap.css"); header("Content-type: text/css"); echo sanitize_output($bootstrap.$css3); die(); Для css.Для js будет почти такой же только функция для формирования вывода будет чуть другая.Ну как по мне то тут очень много нюансов.1) то что перед каждой картинкой нужно добавлять строку <$image> или они не найдутся и строка должна быть правильная по отношению к расположению css.перед шрифтом <$fonts> - история та же.2) import, charset и тд. Как они обработаются? мало того что не найдутся так они еще должны быть в начале упакованного файла. 3) без кэш-файла. Это будет выполняться постоянно (с подключением и запросами к БД) и как я понимаю не единожды при загрузке страницы.4) нарушится порядок если их подключать не в index.tpl5) и на счет вставок внутри страницы через <style> и <script> (и опять же их приоритет) ..............Что касается гальпа и вебпака. Я уже писал выше. Это инструменты хорошие и очень мощные. Но симпла пока что не для них.И 90-95% тех кто делает шаблоны - навряд ли это используют. Я например еще таких шаблонов не видел. Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) то есть верстальщику надо лезть в php что бы подключить css? а если на каждой странице подключены свои css и javascript файлы или надо вставить блок стилей или скриптов? Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах. Учитесь объединять всё это и тогда проблем не будет, это как минимум увеличит скорость загрузки страниц.Какая разница где и что править? Верстальщик что безрукий и не может поправить скрипт? Ну вынеси ему эти файлы в массив в начало файла, а если он совсем обезьяна и это не понимает то не подпускай его в пхп вобще. Думаю он и на гульпе и на другом любом сервисе не справится с задачей. Вместо того что бы умничать создавали бы свои темы и на практике показали как вы видите решение подобных задач вместо того что бы засирать тему исключительно теоретическими замечаниями. К сожалению всё что я вижу тут только усложняет существование веб проектов. Каждый вместо того чтобы использовать простые вещи, тянет многофункциональные, огромные проекты. Вы тянете VQMOD, GULP и прочую дрянь, но это только усложняет и без того сложные проекты, а простыми вещами пользоваться не хотите. Теперь по поводу нюансов:1) можете не добавлять переменную, но если вы захотите переместить папку, вы будете по всем css потом пути менять. если привыкли работать так, то это ваш выбор, я привык объявлять переменную и работать с ней.2) они хорошо обработаются и проблем с ними не будет, по крайней мере НЕРЕШАЕМЫХ проблем.3) запрос в базу выполняется меньше сотых доли секунды, чтение файла на НОРМАЛЬНОМ сервере занимает ещё меньше времени, в итоге эта схема будет работать по скорости также как и ваш кэш, на создание которого уйдёт время, а в дальнейшем и возможные косяки когда у вас не будут применяться изменения, вам надо будет объявлять переменными чтобы кэш не работал для тестирования проекта и всё такое прочее, ровно как и в смарти.4) какой порядок??? вы о чём? какой index.tpl? всё подключается предельно просто: создаётся правило для URL REWRITE case "style.css": require_once($this->config->root_dir.$this->settings->paths["css"]."main.php"); break; и также для js. всё. в шаблоне прописываете <link rel="stylesheet" href="/style.css"> и всё работает.1 css файл для ВСЕГО САЙТА, вот что должно быть на выходе. Также и для js.5) так делают только самые последние извращенцы которые не могут правильно построить страницу каскадных стилей и js файл, и я надеюсь вы не из их числа. Изменено 1 февраля, 2018 пользователем a13x Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) простая вещь это то что сделал автор данной темы а вы называете простыми "решения в лоб", складывается впечатление что вы еще не понимаете разницы Изменено 1 февраля, 2018 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) то есть верстальщику надо лезть в php что бы подключить css? а если на каждой странице подключены свои css и javascript файлы или надо вставить блок стилей или скриптов? Верстальщикам сейчас куда проще с Gulp работать вместо того что бы засирать тему исключительно теоретическими замечаниями. че тут делать то? Просто собрал gulpfile.js: var gulp = require('gulp'); var concat = require('gulp-concat'); var uglify = require('gulp-uglifyjs'); gulp.task('scripts', function() { return gulp.src([ './design/theme/js/ajax_cart.js', './design/theme/js/catalog_filter.js', './design/theme/js/scripts.js' ]) .pipe(concat('app.js'))// Название файла, в который все объединяем .pipe(uglify()) // Сжимаем код .pipe(gulp.dest('./design/theme/js/')); // Путь куда кидаем результат сжатия }); и запустил одной командой gulp scripts Изменено 1 февраля, 2018 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 Верстальщикам сейчас куда проще с Gulp работать че тут делать то? Просто собрал gulpfile.js: var gulp = require('gulp'); var concat = require('gulp-concat'); var uglify = require('gulp-uglifyjs'); gulp.task('scripts', function() { return gulp.src([ './design/theme/js/ajax_cart.js', './design/theme/js/catalog_filter.js', './design/theme/js/scripts.js' ]) .pipe(concat('app.js'))// Название файла, в который все объединяем .pipe(uglify()) // Сжимаем код .pipe(gulp.dest('./design/theme/js/')); // Путь куда кидаем результат сжатия }); и запустил одной командой gulp scripts на обычном хостинге работать будет? Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 февраля, 2018 Автор Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) По vqmod, если не нравится, то можете переделать на инструкцию и выложить тут в теме. Я даже ссылку поставлю в шапке. 1) очень и очень спорный момент. При таком подходе все подключаемые компоненты и библиотеки должны проходить адаптацию под данный метод (это или пропись переменных или же указание полного пути к прикладным файлам). 2) ну в скрипте я не вижу обработок. Получается, с вашего примера, если в adaptive.css есть include то его нужно в ручную перенести в первый подключаемый файл или же он просто не обработается. 3) ну у меня вообще нет такого. Создается кэш файл и потом на него делается ссылка. В итоге дольше у меня получится лишь при разовой генерации кэша. 4) а ну это не так понял. Я думал что ваш скрипт подключается путем указания ссылки в шаблоне, а не правки htaccess или php роутеров. 5) ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд. Но данный инструмент позволяет строить скрипты непосредственно для каждой страницы из нужного tpl (даже того что инклудиться через 10 колено). В итоге строиться минимально необходимый набор стилей и js. Уже сжатых и упакованых с подменой всех необходимых путей к прикладным файлам. на обычном хостинге работать будет?Думаю не будет) Минимум vds или же какой то не дешевый с премиум возможностями reg.ru https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/yazyki-programmirovaniya-i-skripty/vozmozhna-li-ustanovka-nodejs-na-hostinge-regru ukraine.com.ua https://www.ukraine.com.ua/forum/hosting/NODEJS-1.html timeweb http://timeweb.com/ru/community/questions/vozmozhnost-sozdaniya-nodejs-servera-1 Изменено 1 февраля, 2018 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) Думаю не будет) Минимум vds или же какой то не дешевый с премиум возможностями да само собой не будет)) очевидно что опубликованный метод и предложенные варианты это разные подходы. больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку)))) а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать) Изменено 1 февраля, 2018 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку)))) Принято про хостинг, но все же — например мой ученик (верстак) делает объединение через Коалу (есть GUI) и выкладывает уже. По поводу обнаружил/не обнаружил — че его обнаруживать? По мне — довольно уже распространенно все это, засорять не было цели (сорян) — просто как-то сложно показалось Автору, конечно, большое спасибо — на форуме уже было много вопросов по поводу сжатия Изменено 1 февраля, 2018 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) 1) не вижу ничего спорного, кто как привык работать.2) "или же он просто не обработается", но подключится.3) дело не во времени, а в том, что это нужно только когда уже сайт полностью сделан, в моём случае это неважно. время обработки будет одно и тоже.5) "ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд" тут видимо кто как привык работать. я стараюсь в шаблоны не засовывать ничего кроме хтмл, все js и css в отдельные файлы. условия не подгрузку разных скриптов и ксс - от этого отказался сразу т.к. для ускорения работы сайта нужно минимум запросов к серверу, т.е. 1 на js и 1 на css. в вашем случае мне нужно будет каждый код обернуть\объявить\передать в обработчик который формирует кэш и чем больше разных файлов будет тем разные будут кэши. в моём случае всегда будет 1 постоянный файл.ну и требования к хостингу это огромный минус. в моём случае даже самый дешевый хостинг подойдёт, но думаю ваше решение найдёт своего клиента Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку)))) а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать) less, sass неверное сравнение. это почти одно и тоже. в моём же случае это маленький велосипед и дизельный автомобиль, которые едут с одинаковой скоростью, вопрос в том что именно вам подходит. мне например велосипеда достаточно. По поводу кучи ксс и js на разных страницах, то тут всё зависит от того, нужно ли вам оптимизировать сайт до скорости загрузки выше 90 баллов или оставить на 60-70.Мне например 98-100 баллов самое то. Изменено 1 февраля, 2018 пользователем a13x Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 1 февраля, 2018 Автор Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) 1) не вижу ничего спорного, кто как привык работать.2) "или же он просто не обработается", но подключится.3) дело не во времени, а в том, что это нужно только когда уже сайт полностью сделан, в моём случае это неважно. время обработки будет одно и тоже.5) "ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд" тут видимо кто как привык работать. я стараюсь в шаблоны не засовывать ничего кроме хтмл, все js и css в отдельные файлы. условия не подгрузку разных скриптов и ксс - от этого отказался сразу т.к. для ускорения работы сайта нужно минимум запросов к серверу, т.е. 1 на js и 1 на css. в вашем случае мне нужно будет каждый код обернуть\объявить\передать в обработчик который формирует кэш и чем больше разных файлов будет тем разные будут кэши. в моём случае всегда будет 1 постоянный файл.ну и требования к хостингу это огромный минус. в моём случае даже самый дешевый хостинг подойдёт, но думаю ваше решение найдёт своего клиента 2) он не подключится. http://htmlbook.ru/css/import [/size]@import[/size] не разрешается вставлять после любых объявлений кроме [/size]@charset[/size] или другого [/size]@import[/size].[/size] 5) при combine=true на выходе будет один кэш-файл как для js так и css. А если нужно разово все файлы то просто отдать все нужные файлы одним массивом.{css id="libs" include=[ "design/{$settings->theme}/css/bootstrap.css", "design/{$settings->theme}/css/animate.css", "design/{$settings->theme}/css/style.css" ]}{/css} у меня нет требований к хостингу Изменено 1 февраля, 2018 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 1) не вижу ничего спорного, кто как привык работать.2) "или же он просто не обработается", но подключится.3) дело не во времени, а в том, что это нужно только когда уже сайт полностью сделан, в моём случае это неважно. время обработки будет одно и тоже.5) "ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд" тут видимо кто как привык работать. я стараюсь в шаблоны не засовывать ничего кроме хтмл, все js и css в отдельные файлы. условия не подгрузку разных скриптов и ксс - от этого отказался сразу т.к. для ускорения работы сайта нужно минимум запросов к серверу, т.е. 1 на js и 1 на css. в вашем случае мне нужно будет каждый код обернуть\объявить\передать в обработчик который формирует кэш и чем больше разных файлов будет тем разные будут кэши. в моём случае всегда будет 1 постоянный файл.ну и требования к хостингу это огромный минус. в моём случае даже самый дешевый хостинг подойдёт, но думаю ваше решение найдёт своего клиента Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку)))) а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать) less, sass неверное сравнение. это почти одно и тоже. в моём же случае это маленький велосипед и дизельный автомобиль, которые едут с одинаковой скоростью, вопрос в том что именно вам подходит. мне например велосипеда достаточно. По поводу кучи ксс и js на разных страницах, то тут всё зависит от того, нужно ли вам оптимизировать сайт до скорости загрузки выше 90 баллов или оставить на 60-70.Мне например 98-100 баллов самое то. с чего вы решили что при подключении стилей для определенной странице скорость будет на уровне 60-70? Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 с чего вы решили что при подключении стилей для определенной странице скорость будет на уровне 60-70?потому что это дополнительные запросы на сервер, чем их больше, тем ниже скорость загрузки. Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 потому что это дополнительные запросы на сервер, чем их больше, тем ниже скорость загрузки. все ясно Цитата Ссылка на сообщение Поделиться на другие сайты
a13x Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 2) он не подключится. http://htmlbook.ru/css/importПочему? у вас этот ксс файл лежит там же откуда и идёт импортирование, имя файла есть, так почему ему не подключиться? Мой скрипт не вмешивается в работу css файла, он только расширяет возможности ксс добавляя переменные. у меня нет требований к хостингувидимо я с чем то перепутал, может с GULPом. Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 1 февраля, 2018 Жалоба Поделиться Опубликовано 1 февраля, 2018 (изменено) Почему? у вас этот ксс файл лежит там же откуда и идёт импортирование, имя файла есть, так почему ему не подключиться? Мой скрипт не вмешивается в работу css файла, он только расширяет возможности ксс добавляя переменные.видимо я с чем то перепутал, может с GULPом. если в вашем случае не создается кеш, вы бы сперва проверили, просто для интереса, скорость отдачи стилей. ведь очевидно что в вашем случае это занимает больше времени чем просто отдать статику с кеша. толку от того что вы собираете все файлы в кучу при каждом запросе мало Изменено 1 февраля, 2018 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.