css modules的几种技术方案_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-21 08:53:34
원래의
1412명이 탐색했습니다.

css modules是一种非常的好css模块化解决方案,可以确保多人多项目不会样式冲突,下面是我找到的几种结构配套方案,可以根据需要做选择。

react

react就不多说了,搜一下基本都是react的demo,官方有几个demo。

  • webpack-demo
  • browserify-demo

Underscore templates

css-modules-html-demo使用了 Lo-Dash/Underscore templates,亲测可以生成html文件。

/*style/block1.css*/.element {  color: red;}
로그인 후 복사

引入css,就可以用 block1.element来调用class了

<% var block1 = require("./styles/block1") %><div class="${block1.element}">Block 1 element</div>
로그인 후 복사

生成的结构和样式

<div class="block1-element">Block 1 element</div>
로그인 후 복사
.block1-element {  color: red;}:export {  element: block1-element;}
로그인 후 복사

:export为对应的匹配规则,可以在 gulpfile.js修改命名规则。

var core = new Core([  Core.scope({    generateScopedName: genericNames("[name]-[local]"),  })]);
로그인 후 복사

这个方案是不错的方案,很多时候我们的基本骨架还是html。

jade

在官方的issue,有人问道能不能用jade,slim,haml之类的模板引擎。作者给出了如下的代码

doctype html- styles = require("./styles.css");html(lang="en")  body    h1.global(class=styles.local) CSS Modules & Jade
로그인 후 복사

但是实际上还要 style-loader和 css-loader?modules

doctype html- styles = require("!style!css?modules!./styles.css");html(lang="en")  body    h1.global(class=styles.title) CSS Modules & Jade
로그인 후 복사

我写了一个demo,可以下载查看。

angular

这里有一个demo,可以下载查看具体用法。

vue

vue-loader默认用了 scoped css,但是没有css modules强大,我重新写了一个css-module-vue-demo

postHTML

posthtml-css-modules

ejs

postcss-modules-example

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!