Есть ли общий способ импорта файлов javascript аналогично @import css? - PullRequest
1 голос
/ 16 июня 2011

Есть ли общий / стандартный способ включения файлов JavaScript на страницу, который работает аналогично выражению @import в CSS?

В частности, я собираюсь получить нечто подобноев заголовке моих документов HTML:

<html>
    <link rel="stylesheet" href="imports.css" />
    <script type="javascript" src="imports.js" />
</html>

Таким образом, из HTML вызывается только один файл, но в этом файле есть список файлов, которые необходимо включить, например:

/* imports.css */
@import url('foo.css');  
@import url('bar.css');

, а затем что-то вроде этого в javascript:

// import.js
import('jquery.js');
import('my.plugin.jquery.js');
import('my-code.js');

То, чего я надеюсь достичь, - это сделать один «вызов» из HTML для CSS и JS, чтобы я мог разработатьлокально со многими файлами, а затем объедините / minify / gzip все файлы css / js в соответствующий файл import.ext во время развертывания для повышения производительности.

То, что я не хочу сделать - это заставить код приложения (в данном случае PHP) изменить вывод HTML для меня;Мне нужно, чтобы это было полностью на стороне клиента.

Предложения?

1 Ответ

0 голосов
/ 16 июня 2011

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

var myScript = document.createElement("script");
myScript.src = "/js/test.js";
myScript.type= "text/javascript";

document.getElementsByTagName("body")[0].appendChild(myScript);

или вы можете попробовать что-то вроде этого http://www.webreference.com/programming/javascript/mk/

...