2017-05-25 116 views
0

我已经开始更新我的造型端到BEM,到目前为止爱它,但我有一个问题将scss分隔成正确的目录结构。 BEM照顾我的课程的命名规则,但我想尝试一下为什么我要存储我的scss。SCSS:Bem和推荐的目录结构?

我曾经想过,目录结构可能会被Component分离,但也许这并不适合BEM,因为块级元素和组件之间没有1对1映射。

任何人都可以帮助一些建议吗?

我认为会有某种结构来存储_base,_variables等?

回答

2

我建议坐在你的组件文件旁边,像这样;

├── src 
| ├── _modules    
| | └── link 
| |  ├── __tests__ 
| |  | └── link.spec.js 
| |  ├── link.html 
| |  ├── link.js 
| |  └── link.scss 

这与BEM思维方式非常吻合。我认为你所说的没有1到1的映射是BEM中的概念,你不应该尝试在你的CSS中复制DOM。任何不属于组件文件夹的内容都可以存在于“核心”组件中。

有一个非常好的Yeoman发电机,名为Yeogurt https://github.com/larsonjj/generator-yeogurt,为您建立了这种结构类型(以及其他一些东西)。

+0

link.html的内容会是什么,假设? –

+1

@EdmundReed这是构成模块的模板HTML。所以,这可能看起来像: ''{{name}} 如果您正在使用的小胡子模板 注意,那Yeogurt使用玉(现在的哈巴狗)。 – LWilson