2009-10-06 2 views
12

Когда я разрабатываю приложение, я хочу использовать jquery-1.3.2.js, и когда я его развертываю, я хочу использовать jquery -1.3.2.min.js?Переключение между jquery-1.3.2.js и jquery-1.3.2.min.js

Каков наилучший способ переключения между двумя без ручного комментирования и раскола одного.

Спасибо.

+2

Почему вы не просто всегда используете мин? – recursive

+0

иногда, я хочу отлаживать некоторые функции jquery, я думаю, что не-мин один более читабельным. –

ответ

2

Назовите оба файла jquery.js, например, и поместите в какую-либо папку (libs) Когда вы откажетесь, не разворачивайте папку lib.

+0

Или просто используйте символическую ссылку. –

+0

Имеет ли Windows символические ссылки? – middus

2

Я уверен, что кто-то может перевести этот ответ в asp.net: Я выполняю условие, основанное на моем APPLICATION_ENVIRONMENT, определенном в моих проектах. Не уверен, есть ли аналогичная вещь в asp.net, но если вы находитесь на производственном сервере, вы можете служить .min - и на машине разработки/тестирования вы можете обслуживать полную библиотеку.

1

Если вы программно добавление объявления, то лучший способ заключается в использовании директивы компилятора

#if DEBUG 

. В области DEBUG используйте полностью расширенную библиотеку, а в не-DEBUG (при компиляции в режиме выпуска для публикации) введите версию .min. Тогда вам нужно только беспокоиться о том, чтобы убедиться, что вы скомпилируете Release, когда вы идете вживую.

Кроме того, у вас есть отдельные файлы .config для разных версий среды выпуска и спецификация вашего javascript.

MSDN link to compiler directives.

+0

Кажется, это то же самое, о чем я говорю в своем ответе. – gnarf

+0

Кажется. Кроме того, я предлагаю 2 альтернативы, и я также включил примеры и ссылку, которые, как правило, более полезны. Также это помечено asp.net-mvc, поэтому мой ответ был .net специфичным. Так что действительно, не похоже. – Evildonald

0

можно назвать скрипт как jquery.js. И добавьте еще два js-файла. Сначала будет называться jquery.js.debug, другой onw jquery.js.release. И при компиляции приложения используйте соответствующий js-файл.

Я использую его для изменения файлов web.config. Дополнительная информация может быть основана here.

0

Если вы используете django, вы можете использовать django-compress для обработки этого автоматически.

8

У меня есть метод расширения HtmlHelper для загрузки файлов JavaScript. Это выглядит примерно так ...

public static string JavascriptTag(this HtmlHelper html, string javascriptName) 
{ 
    var format = "<script src=\"/Content/Scripts/{0}.js\" type=\"text/javascript\"></script>\r\n"; 

#if (!DEBUG) 
    javascriptName += ".min"; 
#endif 

    return string.Format(format, javascriptName); 
} 

, который называется очень просто нравится:

<%= Html.JavascriptTag("jquery-1.3.2") %> 
<%= Html.JavascriptTag("general") %> 

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

Если у вас нет такой роскоши, вы могли бы использовать вариант, как так:

public static string JavascriptTag(this HtmlHelper html, string devFileName, string liveFileName) 
{ 
    var format = "<script src=\"{0}\" type=\"text/javascript\"></script>\r\n"; 

    var fileNameToUse = devFileName; 
#if (!DEBUG) 
    fileNameToUse = liveFileName; 
#endif 

    return string.Format(format, fileNameToUse); 
} 

Что тогда можно было бы назвать как:

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.3.2.js", "/Content/Scripts/jquery-1.3.2.min.js") %> 
<%= Html.JavascriptTag("/Content/Scripts/general.js", "/Content/Scripts/general.min.js") %> 

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

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.8.2.js", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js") %> 
Смежные вопросы