0

有人可以面对 asp.net mvc 和 bem ( http://bem.info/ ) 的集成吗?可以介绍示例或教程链接吗?

4

1 回答 1

2

我无法为您提供代码示例,因为我不使用 asp.NET。但是,如果我的理论答案可以提供帮助,那就是:

首先,您可以使用 BEM 的 CSS 和文件系统部分。我的意思是你可以为你的块组件分离 CSS 代码并将它们存储在它们各自的文件中。

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

然后,您可以将此文件收集到带有@import. 要展平文件,请使用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-toolspage declaration有了它们,就可以在 JSON中创建我们所说的 a 。然后,根据声明,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/来体验它

于 2013-08-15T11:55:21.487 回答