Используя контроллер для вашего js / css, вы загружаете массу ненужных вещей для каждого запроса файла. Класс безопасности, класс ввода, маршрутизатор, исключения и т. Д.
Вам не нужно ничего из того, что должно быть статическим содержимым. Вы также не хотите, чтобы файлы были динамическими (изменяющимися по запросу), потому что это повлияет на кеш браузера. Либо файл будет кэширован в том состоянии, в котором он был загружен, либо вы потеряете преимущество кэша браузера.
Лучше всего объединить файлы, свернуть их и записать содержимое в статический файл, но тогда они не будут динамическими. Тем не менее, они, вероятно, не должны быть.
Еще одна вещь, которую вы можете сделать, это использовать php-файл для объединения статических файлов и ссылаться на него в теге <link>
(screen.php). Простой пример CSS:
<?php
header('Content-type: text/css');
$files = array(
'css/reset.css',
'css/screen.css',
'css/typography.css',
);
foreach ($files as $file)
{
readfile($file);
}
В любом случае вам следует обновить имя файла, возможно, с помощью строки запроса, чтобы избежать обслуживания старого кэшированного файла. Пример: /screen.css?version=2
Я использую $this->load->view()
иногда для динамических js, но только для встроенных тегов сценария (например, динамическая конфигурация WYSIWYG). Это позволяет передавать переменные в файл «view», а также избегать проблем с кешем.
Моя точка зрения заключается в том, что не стоит запускать CI и все связанные с ним зависимости только для того, чтобы должен быть статическим контентом.