面对asp.net、mvc和bem (http://bem.info/)的集成,人们还能面对吗?可以介绍示例或教程链接吗?
发布于 2013-08-15 19:55:21
我不能给你提供代码示例,因为我不使用asp.NET。但如果我的理论答案可以帮助你,这里是:
首先,您可以使用BEM的CSS和文件系统部分。我的意思是,你可以为你的块组件分离CSS代码,并将它们存储在各自的文件中。
blocks/
button.css
footer.css
header.css
login.css然后,您可以将这些文件收集到@import页面的CSS文件中。要拼合文件,请使用borschik (https://github.com/bem/borschik)。顺便说一句,你可能会对最近发布的borschik sever https://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片段。当然,JavaScript中没有类似于@import的关键字。但在这一点上,borschik可以提供帮助。如果您有包含如下内容的page.js文件:
borschik:include:blocks/login/login.js
borschik:include:blocks/button/button.js在此文件上运行borschik,您将获得内容内联的_page.js文件。有关更多信息,我推荐在bem.info http://bem.info/articles/borschik/上发表一篇关于Borschik的文章
如果您厌倦了将每个块链接到页面的CSS文件,然后再链接到页面的JS文件,有一种方法可以统一这一点。您可以使用bem tools https://github.com/bem/bem-tools。有了它们,我们就可以在JSON中创建我们称之为page declaration的东西。然后,根据声明,bem tools将为您的页面捆绑CSS和JavaScript文件。如果你需要的话,还有其他的技术人员。评论已经很长了。所以,我不会在这里描述bem tools的用法。但是,如果文档不够充分,请询问。
最后一点是模板系统。我猜asp NET有一个,不是吗?如果是razor,它一定非常类似于TT2 (perl)。我遇到过这样的项目,可以描述他们所做的事情。
他们使用模板的两个“层”。第一个是本机嵌入式模板系统。但它的输出不是通常的HTML,而是BEMJSON页面描述。当由于具有node.js绑定,可以在此JSON上运行服务器端JavaScript时。在服务器端JavaScript中,它们使用BEMHTML模板。您可以通过“快速入门”文章http://bem.info/articles/start-with-project-stub/或本教程http://bem.info/articles/bemhtml-intro/来体验一下
https://stackoverflow.com/questions/18162691
复制相似问题