2013-08-10 5 views
1

Может ли кто-нибудь столкнуться с интеграцией asp.net mvc и bem (http://bem.info/)? Можете привести примеры или ссылки на учебные пособия?BEM и asp.net mvc

ответ

2

Я не могу предоставить вам примеры кода, так как я не использую asp.NET. Но в случае, если мой теоретический ответ может помочь, вот он:

Прежде всего, вы можете использовать части файловой системы BEM для CSS &. Я имею в виду, что вы можете отделить CSS-код для своих блоков и сохранить их в своих отдельных файлах.

blocks/ 
    button.css 
    footer.css 
    header.css 
    login.css 

Затем, вы можете собрать эти файлы в CSS-файлы для страниц с @import. Чтобы сгладить файлы, используйте borschik (https://github.com/bem/borschik). BTW, возможно, вас заинтересует недавно выпущенный инструмент borschik severhttps://github.com/bem/borschik-server.

Затем, если вы готовы пойти дальше, вы также можете предоставить файлы JavaScript для своих отдельных компонентов и хранить такие файлы вместе с CSS-файлами компонентов.

blocks/ 
    button/ 
     button.css 
     button.js 
    footer/ 
     footer.css 
    header/ 
     header.css 
    login/ 
     login.css 
     login.js 

Как и CSS, вы можете использовать эти фрагменты JavaScript для своих страниц на странице. Конечно, в JavaScript не существует ключевого слова, аналогичного @import. Но здесь снова может помочь borschik. Если у вас есть page.js файла с содержимым, как следующее:

borschik:include:blocks/login/login.js 
borschik:include:blocks/button/button.js 

Run борщик над этим файлом, и вы получите файл _page.js с содержанием встраиваемым. Для получения дополнительной информации я рекомендую статью о борщик на bem.info http://bem.info/articles/borschik/

Если вам скучно с привязкой каждого блока в CSS файл страницы, а затем снова в JS файл страницы, есть способ объединить это. Вы можете использовать bem toolshttps://github.com/bem/bem-tools. С ними можно создать то, что мы называем page declaration в JSON. Затем, согласно декларации, bem tools свяжет файлы CSS и JavaScript для ваших страниц. И на самом деле другие техники, если они вам нужны. Комментарий уже довольно длинный. Поэтому я не буду описывать здесь bem tools. Но если документации недостаточно, спросите пожалуйста.

Последний пункт - система шаблонов. Я предполагаю, что у asp NET есть один, не так ли? Если это razor, он должен быть очень похож на TT2 (perl). Я встречал такие проекты и мог описать, что они сделали.

Они используют 2 "слои" шаблонов. Первая из них - встроенная система шаблонов. Но его вывод не является HTML как обычно, но описание страницы BEMJSON. Когда из-за наличия привязок node.js на этом JSON можно запустить JavaScript на стороне сервера. На серверном JavaScript они используют шаблоны BEMHTML. Вы можете получить его с помощью статьи «Быстрый старт» http://bem.info/articles/start-with-project-stub/ или с помощью этого руководства http://bem.info/articles/bemhtml-intro/