Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование скриптов и стилей из другого проекта / 23 сообщений из 23, страница 1 из 1
05.03.2014, 16:01
    #38579180
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Хочу создать отдельную библиотеку для использования в разных проектах.
Добавляю проект с библиотекой к солюшену.
С кодовыми модулями все понятно, а как использовать модули JS и CSS из другого проекта?
...
Рейтинг: 0 / 0
05.03.2014, 16:57
    #38579255
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
и вообще, какого типа создавать библиотеку, ведь это будет уже не class library
...
Рейтинг: 0 / 0
05.03.2014, 17:37
    #38579335
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
а как использовать модули JS и CSS из другого проекта?копипаст

и вообще, какого типа создавать библиотеку, ведь это будет уже не class libraryлибо никакого+копипаст, либо таки class library. можно упаковать файлы в ресурсы dll, а из dll сделать хендлер, который по запросу будет извлекать контент из ресурсов. соответственно урлы к js/css будут урлами к хендлеру, а web.config нужно соответствующим образом настроить.

есть и третий путь: создать шаблон проекта, в котором уже будет и структура папок и набор скриптов и стилей.
...
Рейтинг: 0 / 0
05.03.2014, 17:42
    #38579342
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Shocker.ProДобавляю проект с библиотекой к солюшену.при такой схеме использования библиотека-хэндлер будет лучшим вариантом. только нужно будет референс на нее поставить, чтобы хендлер при компиляции в bin копировался.
...
Рейтинг: 0 / 0
05.03.2014, 17:46
    #38579345
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
ну и очевидный минус — нельзя поправить js/css ручками прямо на сервере. это с одной стороны, а с другой можно проверить наличие файла. если файл есть, отдаем файл, если нет — ресурс. и как бы нет минуса.
...
Рейтинг: 0 / 0
05.03.2014, 18:35
    #38579390
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Antonariyкопипастпропадает смысл библиотеки, где файл правится один раз для всех проектов

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

Antonariyбудет извлекать контент из ресурсов. соответственно урлы к js/css будут урлами к хендлерусхема понятна, но при этом не очень понимаю, как добавлять их в Bundle, так как он требует виртуальный путь....впрочем, как добавить такой ресурс в представление напрямую тоже не очень понятно.
...
Рейтинг: 0 / 0
05.03.2014, 22:06
    #38579552
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Shocker.Pro как добавлять их в Bundle Это что?

Shocker.Pro как добавить такой ресурс в представление напрямую тоже не очень понятно.А как обычно это делается?
...
Рейтинг: 0 / 0
06.03.2014, 00:33
    #38579615
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
AntonariyShocker.Proкак добавлять их в Bundle Это что?это механизм, который позволяет собрать в один файл и минифицировать (удалить комментарии, пробелы, переводы строк и т.п.) используемые на странице скрипты и стили (оптимизировав таким образом количество и объем загружаемых на страницу файлов)

AntonariyShocker.Pro как добавить такой ресурс в представление напрямую тоже не очень понятно.А как обычно это делается?обычно это делается через System.Web.Optimizations.Styles.Render и System.Web.Optimizations.Scripts.Render, которые принимают на вход виртуальные пути к файлам или бандлам
...
Рейтинг: 0 / 0
06.03.2014, 00:37
    #38579617
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Пора осваивать NuGet.
...
Рейтинг: 0 / 0
06.03.2014, 00:38
    #38579618
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
skyANA, ясно, пока обожду, еще MVC толком не освоил )
...
Рейтинг: 0 / 0
06.03.2014, 01:02
    #38579633
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Shocker.Proэто механизмпридется от него отказаться и использовать другие способы минимизации, например надстройку для студии web extentions.
Shocker.Proобычно это делается через System.Web.Optimizations.Styles.Render и System.Web.Optimizations.Scripts.Render, которые принимают на вход виртуальные пути к файлам если пути виртуальные, почему они не могут указывать на хендлер? в конце концов можно повесить хендлер на *.css и *.js и лишь делать вид, что виртуальные пути ведут к файлам.
...
Рейтинг: 0 / 0
06.03.2014, 08:43
    #38579697
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Antonariyесли пути виртуальные, почему они не могут указывать на хендлер? в конце концов можно повесить хендлер на *.css и *.js и лишь делать вид, что виртуальные пути ведут к файлам.собственно, в этом и заключается вопрос - как это организовать
...
Рейтинг: 0 / 0
06.03.2014, 09:04
    #38579706
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Насколько я понял, Styles.Render и Scripts.Render принимают массивы строк, являющихся урлами. Какая им разница, что в этих строках? Их дело сформировать <link> и <script> с урлами, взятыми из массивов, и выплюнуть в html-код итоговой страницы, я прав? Если прав, то проблемы нет, пиши что хочешь и обрабатывай хендлером. Например:
Код: html
1.
<script src="scripts/bundle.ext/style1.css"/>

Вполне традиционный урл. И кто догадается, что bundle.ext это файл-зацепка нулевого размера для хендлера, а не папка с расширением? А может и файл не нужен, не помню, как себя iis в этом случае ведет, может передаст хендлеру принятие решения о 404.
...
Рейтинг: 0 / 0
06.03.2014, 10:48
    #38579819
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Что такое хендлер (в данном контексте) - это какое-то понятие, принцип, или это какой-то набор типов, библиотека или что? Плиз, ткни, откуда копать, дальше раскопаю.
...
Рейтинг: 0 / 0
06.03.2014, 11:49
    #38579919
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
И то и другое и третье :)
В прикладном плане хендлер это dll с классом, реализующим нужный интерфейс:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public MustInherit Class BasicHandler
    Implements System.Web.IHttpHandler

    Private Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
	context.Response.Write("hello world")
    End Sub

    Friend ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class


Чтобы он заработал, в web.config должен быть такой раздел:

Код: xml
1.
2.
3.
4.
5.
<configuration>
    <system.web>
        <httpHandlers>
            <add verb="GET" path="*.ext" type="YourLib.BasicHandler" validate="false" />
        </httpHandlers>

Работать он будет только под IIS или IIS Express, в голой студии его не получится не то что отладить, но даже использовать.

Читать здесь , однако по поводу регистрации хендлеров там написано несколько мутно, мой публичный IIS ругался на конфиги, написанные по их образцу.
Но в IIS есть интерфейс для регистрации хендлеров, результат его работы вышел таким:

Код: xml
1.
<add name="BasicHandler" path="*.ext" verb="GET" type="YourLib.BasicHandler" resourceType="File" preCondition="integratedMode" />



Есть еще project item под названием "универсальный обработчик", это примерно те же яйца, только в профиль. Зацепкой является файл с расширением ashx, а класс-обработчик указан в нем, а не web.config. Если тебя не смущает урл типа scripts/bundle.ashx/style1.css, можешь его использовать, его можно отлаживать. Только выкинь файл *.asрx.vb, а в *.ashx укажи progid своего хендлера. Хотя я не уверен, что его можно будет отлаживать после таких выкрутасов.
...
Рейтинг: 0 / 0
06.03.2014, 11:53
    #38579922
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Antonariy
Код: html
1.
<script src="scripts/bundle.ext/style1.css"/>


Вполне традиционный урл.не считая того, что это должен быть скрипт, а не стиль :)
...
Рейтинг: 0 / 0
06.03.2014, 11:55
    #38579928
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
AntonariyТолько выкинь файл *.asрx.vbas h x.vb
...
Рейтинг: 0 / 0
06.03.2014, 12:15
    #38579968
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
AntonariyРаботать он будет только под IIS или IIS Express, в голой студии его не получится не то что отладить, но даже использовать.разве студия не запускает IIS Express при отладке?

в остальном понятно, спасибо.
...
Рейтинг: 0 / 0
06.03.2014, 13:32
    #38580123
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Shocker.ProAntonariyРаботать он будет только под IIS или IIS Express, в голой студии его не получится не то что отладить, но даже использовать.разве студия не запускает IIS Express при отладке?в каких-то случаях не запускала, но я не обращал внимания.
...
Рейтинг: 0 / 0
06.03.2014, 23:46
    #38580689
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
В случае с MVC хэндлер превращается в контроллер.
...
Рейтинг: 0 / 0
06.03.2014, 23:54
    #38580690
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
Shocker.Proпропадает смысл библиотеки, где файл правится один раз для всех проектов
из репозитория забирайте стили и скрипты
...
Рейтинг: 0 / 0
07.03.2014, 01:09
    #38580704
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
skyANAВ случае с MVC хэндлер превращается в контроллер.спасибо, я это подозревал
Изопропилиз репозитория забирайте стили и скриптытак вот как это сделать из Bundle? так как в указании виртуального пути используются подстановочные символы, надо полагать, что запрос идет не через IIS
...
Рейтинг: 0 / 0
07.03.2014, 13:17
    #38581088
Objective - C sharp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование скриптов и стилей из другого проекта
AntonariyИ то и другое и третье :)
В прикладном плане хендлер это dll с классом, реализующим нужный интерфейс:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public MustInherit Class BasicHandler
    Implements System.Web.IHttpHandler

    Private Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
	context.Response.Write("hello world")
    End Sub

    Friend ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class


Чтобы он заработал, в web.config должен быть такой раздел:

Код: xml
1.
2.
3.
4.
5.
<configuration>
    <system.web>
        <httpHandlers>
            <add verb="GET" path="*.ext" type="YourLib.BasicHandler" validate="false" />
        </httpHandlers>

Работать он будет только под IIS или IIS Express, в голой студии его не получится не то что отладить, но даже использовать.

Читать здесь , однако по поводу регистрации хендлеров там написано несколько мутно, мой публичный IIS ругался на конфиги, написанные по их образцу.
Но в IIS есть интерфейс для регистрации хендлеров, результат его работы вышел таким:

Код: xml
1.
<add name="BasicHandler" path="*.ext" verb="GET" type="YourLib.BasicHandler" resourceType="File" preCondition="integratedMode" />



Есть еще project item под названием "универсальный обработчик", это примерно те же яйца, только в профиль. Зацепкой является файл с расширением ashx, а класс-обработчик указан в нем, а не web.config. Если тебя не смущает урл типа scripts/bundle.ashx/style1.css, можешь его использовать, его можно отлаживать. Только выкинь файл *.asрx.vb, а в *.ashx укажи progid своего хендлера. Хотя я не уверен, что его можно будет отлаживать после таких выкрутасов.
Рекомендую обратить внимание на тот факт, что регистрация хендлеров отличается для интегрированного и классического режимов ИИС.
Так что для работы на паблике и для студии могут присутствовать в конфиге регистрации хендлеров для обоих режимов одновременно
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование скриптов и стилей из другого проекта / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]