Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Smarty Minify 1.3 (сжатие и упаковка js, css и less). 

 
Данный модуль позволяет сжимать и объеденять css, js, less файлы и коды с возможностью сжатия через gzip и дальнейшим кэшированием.

 

 

Для vqmod версии:


Установка
1) содержимое архива залить на сайт в папку vqmod/mod
2) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка установить Smarty Minify
3) если все хорошо увидим надпись: Модуль установлен
 
Удаление
1) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать удалить на Smarty Minify
2) если все хорошо увидим надпись: Модуль удален
 
Примечание

Для установки нужен 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.
 
 
Полезные ссылки: 

SmartyMinify_1.3.zip

SmartyMinify_1.3_not_vqmod.zip

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 52
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

На самом деле это всё может сделать несложный скрипт, который на лету прочитает необходимые файлы, заменит переменные если надо и приведет весь код к одной строке убрав комменты. Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака.

Изменено пользователем a13x
Ссылка на сообщение
Поделиться на другие сайты

Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака.

 

Установка легкая, настрйока в данном конексте — тоже, нам же не нужны всякие babel дял перегона с ES6...

Ну и Вебпак и правда может быть избыточным, можно и Gulp  — сейчас у меня он :) 

Ссылка на сообщение
Поделиться на другие сайты

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

Ну насколько я знаю вебпак есть смысл использовать только если проект большой и имеет много различных модулей. В симпле, я думаю, это далеко лишнее. Поскольку в среднем шаблон ограничивается 2-5 css и 3-7 js файлов. Поэтому использование вебпака для симплы - я думаю лишнее. + большая сложность в конфигурации для обычного среднестатистического пользователя... 

 

Если начнете писать статью - как это добавить в симплу и как использовать... Предполагаю не мало времени уйдет... 

Ссылка на сообщение
Поделиться на другие сайты

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

Gulp'а более чем предостаточно для решения подобных задач.

Ссылка на сообщение
Поделиться на другие сайты

 

Gulp'а более чем предостаточно для решения подобных задач.

Не для симплы, ибо система давно стоит на месте и галп для Пикусова нечто новое, впрочем как и все новые технологии последних 5! лет...

Ссылка на сообщение
Поделиться на другие сайты

Опять же все всё усложняют. Gulp, webpack,... 2 простых пхп скрипта всё решают в разы быстрее чем подключать большие библиотеки и разбираться в них, но видимо многие привыкли усложнять себе жизнь, чем наоборот искать простые пути для решения проблем.

Ссылка на сообщение
Поделиться на другие сайты
<?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 будет почти такой же только функция для формирования вывода будет чуть другая.

Изменено пользователем a13x
Ссылка на сообщение
Поделиться на другие сайты

 

<?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 файлы или надо вставить блок стилей или скриптов?

 

решение автора, я не проверял но смысл понятен, очень даже зачетное. Если создаются кеш файлы то вообще круто. Вместо того что бы умничать создавали бы свои темы и на практике показали как вы видите решение подобных задач вместо того что бы засирать тему исключительно теоретическими замечаниями.

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

 

<?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.tpl

5) и на счет вставок внутри страницы через <style> и <script> (и опять же их приоритет)

 

..............

Что касается гальпа и вебпака. 

Я уже писал выше. Это инструменты хорошие и очень мощные. Но симпла пока что не для них.

И 90-95% тех кто делает шаблоны - навряд ли это используют. Я например еще таких шаблонов не видел.

Ссылка на сообщение
Поделиться на другие сайты
то есть верстальщику надо лезть в 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 файл, и я надеюсь вы не из их числа.

Изменено пользователем a13x
Ссылка на сообщение
Поделиться на другие сайты

простая вещь это то что сделал автор данной темы а вы называете простыми "решения в лоб", складывается впечатление что вы еще не понимаете разницы

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

то есть верстальщику надо лезть в 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

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

Верстальщикам сейчас куда проще с 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

 

на обычном хостинге работать будет?

Ссылка на сообщение
Поделиться на другие сайты

По 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

 
Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

Думаю не будет) Минимум vds или же какой то не дешевый с премиум возможностями

 

да само собой не будет)) очевидно что опубликованный метод и предложенные варианты это разные подходы.

 

больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями  :D  Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку))))

 

а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать)

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями  :D  Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку))))

 

Принято про хостинг, но все же — например мой ученик (верстак) делает объединение через Коалу (есть GUI) и выкладывает уже.

 

По поводу обнаружил/не обнаружил — че его обнаруживать? По мне — довольно уже распространенно все это, засорять не было цели (сорян) — просто как-то сложно показалось

 

Автору, конечно, большое спасибо — на форуме уже было много вопросов по поводу сжатия

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

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 баллов самое то.

head3.jpg

Изменено пользователем a13x
Ссылка на сообщение
Поделиться на другие сайты

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}
у меня нет требований к хостингу Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

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 баллов самое то.

head3.jpg

 

с чего вы решили что при подключении стилей для определенной странице скорость будет на уровне 60-70?

Ссылка на сообщение
Поделиться на другие сайты

с чего вы решили что при подключении стилей для определенной странице скорость будет на уровне 60-70?

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

все ясно

Ссылка на сообщение
Поделиться на другие сайты

 

2) он не подключится. http://htmlbook.ru/css/import

Почему? у вас этот ксс файл лежит там же откуда и идёт импортирование, имя файла есть, так почему ему не подключиться? Мой скрипт не вмешивается в работу css файла, он только расширяет возможности ксс добавляя переменные.

 

у меня нет требований к хостингу

видимо я с чем то перепутал, может с GULPом.

Ссылка на сообщение
Поделиться на другие сайты

Почему? у вас этот ксс файл лежит там же откуда и идёт импортирование, имя файла есть, так почему ему не подключиться? Мой скрипт не вмешивается в работу css файла, он только расширяет возможности ксс добавляя переменные.

видимо я с чем то перепутал, может с GULPом.

 

если в вашем случае не создается кеш, вы бы сперва проверили, просто для интереса, скорость отдачи стилей. ведь очевидно что в вашем случае это занимает больше времени чем просто отдать статику с кеша. толку от того что вы собираете все  файлы в кучу при каждом запросе мало

Изменено пользователем DaVinci
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...