переключаться между jquery-1.3.2.js и jquery-1.3.2.min.js - PullRequest
12 голосов
/ 06 октября 2009

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

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

Спасибо.

Ответы [ 6 ]

8 голосов
/ 26 ноября 2009

У меня есть метод расширения 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 в моем каталоге content / scripts, минимизирует их и затем вставляет .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") %>
2 голосов
/ 06 октября 2009

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

2 голосов
/ 06 октября 2009

Например, назовите оба файла jquery.js и поместите их в какую-нибудь папку При развертывании не развертывайте папку lib.

1 голос
/ 06 октября 2009

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

#if DEBUG

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

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

Ссылка MSDN на директивы компилятора.

0 голосов
/ 25 ноября 2009

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

0 голосов
/ 06 октября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...