• 授权协议:MIT
  • 开发厂商:-
  • 软件语言:JavaScript
  • 更新日期:2018-10-14
JSS-cssinjs

JSS 是一种比 CSS 更强大的抽象,它使用 JavaScript 以声明和可维护的方式描述样式。它是一个高性能的 JS to CSS 编译器,可在运行时和服务器端运行。它是低级别并且与框架无关的,大约有 6KB 大小,并且可以通过插件 API 进行扩展。

JSS-cssinjs 高性能 JS to CSS 编译器 项目简介

JSS 是一种比 CSS 更强大的抽象,它使用 JavaScript 以声明和可维护的方式描述样式。它是一个高性能的 JS to CSS 编译器,可在运行时和服务器端运行。它是低级别并且与框架无关的,大约有 6KB 大小,并且可以通过插件 API 进行扩展。主要特性框架无关Scoped selectors by defaultFunction values and rulesObservablesSSRPlugins supportGlobal CSSExpanded syntaxComposition syntaxTemplate strings syntaxIsolation使用场景构建 JavaScript 很重的应用使用基于组件的架构构建可重用的 UI 库需要一个无冲突的 CSS (外部内容、第三方 UI 组件等)需要在 JS 和 CSS 之间共享代码下载量小很重要健壮性和代码重用很重要易于维护很重要Demoimport jss from 'jss'
import preset from 'jss-preset-default'
import color from 'color'

// One time setup with default plugins and settings.
jss.setup(preset())

const styles = {
  button: {
    fontSize: 12,
    '&:hover': {
      background: 'blue'
    }
  },
  ctaButton: {
    extend: 'button',
    '&:hover': {
      background: color('blue')
        .darken(0.3)
        .hex()
    }
  },
  '@media (min-width: 1024px)': {
    button: {
      width: 200
    }
  }
}

const {classes} = jss.createStyleSheet(styles).attach()

document.body.innerHTML = `
  <button class="${classes.button}">Button</button>
  <button class="${classes.ctaButton}">CTA Button</button>
`生成结果<head>
  <style>
    .button-123456 {
      font-size: 12px;
    }
    .button-123456:hover {
      background: blue;
    }
    .ctaButton-789012 {
      font-size: 12px;
    }
    .ctaButton-789012:hover {
      background: red;
    }
    @media (min-width: 1024px) {
      .button-123456 {
        min-width: 200px;
      }
    }
  </style>
</head>
<body>
  <button class="button-123456">Button</button>
  <button class="ctaButton-789012">CTA Button</button>
</body>

JSS-cssinjs 高性能 JS to CSS 编译器 相关推荐

JSS-cssinjs 高性能 JS to CSS 编译器 评论内容