переключатель между jquery-1.3.2.js и jquery-1.3.2.min.js

Попробуйте это. Функция берет в списке делегатов Действия. Это добавит запись рабочего ThreadPool для каждого объекта в списке. Это будет ожидать каждого действия для завершения перед возвратом.

public static void SpawnAndWait(IEnumerable<Action> actions)
{
    var list = actions.ToList();
    var handles = new ManualResetEvent[actions.Count()];
    for (var i = 0; i < list.Count; i++)
    {
        handles[i] = new ManualResetEvent(false);
        var currentAction = list[i];
        var currentHandle = handles[i];
        Action wrappedAction = () => { try { currentAction(); } finally { currentHandle.Set(); } };
        ThreadPool.QueueUserWorkItem(x => wrappedAction());
    }

    WaitHandle.WaitAll(handles);
}
12
задан J.W. 6 October 2009 в 01:18
поделиться

6 ответов

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

2
ответ дан 2 December 2019 в 21:23
поделиться

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

#if DEBUG

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

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

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

12122]

1
ответ дан 2 December 2019 в 21:23
поделиться

You can name script as jquery.js. And add two other js files. First will be named as jquery.js.debug, other onw jquery.js.release. And when compiling application use appropriate js file.

I'm using it to change web.config files. Additional information can be founded here.

0
ответ дан 2 December 2019 в 21:23
поделиться

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

2
ответ дан 2 December 2019 в 21:23
поделиться

У меня есть метод расширения 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") %>
8
ответ дан 2 December 2019 в 21:23
поделиться

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

0
ответ дан 2 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: