#javascript #server-side
#javascript #на стороне сервера
Вопрос:
Я хочу включить файл JS в другой файл JS на стороне сервера, чтобы предотвратить копирование-вставку и загрузку нескольких файлов JS с клиента. Точно так же, как включить (‘file.js ‘), как это сделал бы PHP.
Комментарии:
1. Спасибо за ответы, но я просто хочу, чтобы это было сделано на сервере, с одной загрузкой файла javascript с клиента. Я бы предпочел превратить .js в .php (или переписать) и использовать PHP include, а затем header(‘content-type:text / javascript). Любые другие решения?
Ответ №1:
Не существует встроенного способа включения других файлов JavaScript из файла JavaScript… но вы можете добавить их в DOM ->
function addJavascript(jsname,pos) {
var th = document.getElementsByTagName(pos)[0];
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',jsname);
th.appendChild(s);
}
Пример использования :
addJavascript('newExternal.js','body');
Комментарии:
1. Я, конечно, проголосую за симпатичный код, но лучше справлюсь с проблемами пути, порядка загрузки скриптов и управления зависимостями для загрузчика скриптов 🙂
Ответ №2:
Как следует из статьи Supercharging javascript, с помощью PHP вы можете прочитать все ваши файлы .js и создать один большой js-файл, который вы отправите целиком.
Это упрощение примера из статьи, просто чтобы вы начали:
<?php
define('SCRIPT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/script/');
$files = array(
'jquery.js',
'myLib.js',
'site.js'
);
header('Content-Type: text/javascript');
foreach (files as $file) {
if (@readfile(SCRIPT_DIR . $file) === false) {
error_log("javascript.php: Error reading file '$file'");
}
}
?>
Я бы также рекомендовал прочитать полную статью Supercharging JavaScript в PHP, чтобы получить больше информации.
Комментарии:
1. Да, это то, о чем я только что думал. Для этого мне не нужна библиотека. Я могу просто сделать это сам в нескольких строках кода. Спасибо 🙂
Ответ №3:
JSfile = «1.js, 2.js, 3.js»
для цикла это
document.write();
Ответ №4:
Вам придется использовать загрузчик сценариев, и я хотел бы порекомендовать script.js
Дастина Диаса, который работает в Twitter. Страница проекта на Github. Вот как вы это используете, предполагая, что у вас есть плагин jquery для загрузки на страницу, вот что вам следует сделать
// load jquery and plugin at the same time. name it 'bundle'
$script(['jquery.js', 'my-jquery-plugin.js'], 'bundle')
// load your usage
$script('my-app-that-uses-plugin.js')
/*--- in my-jquery-plugin.js ---*/
$script.ready('bundle', function() {
// jquery amp; plugin (this file) are both ready
// plugin code...
})
/*--- in my-app-that-uses-plugin.js ---*/
$script.ready('bundle', function() {
// use your plugin :)
})
пример также взят со страницы проекта. Вот шаги, которые вы должны выполнить
- Загрузите Script.js сначала файл
- Теперь включите скрипт загрузки зависимостей, который загружает все другие нужные скрипты асинхронно [содержимое скрипта загрузки зависимостей будет таким, как указано выше]