介绍
Stylify是一个使用CSS样选择器的库来根据您编写的内容来生成优化的实用程序 - 首先CSS。
- 类似CSS的选择器
- 没有学习框架
- 少于文档中花费的时间
- 粘合和极小的CSS
- 不需要CSS清除
- 组件,变量,自定义选择器
- split css for Pages/Layouts
我们也有一个有关what problems Stylify CSS solves and why you should give it a try!
的页面安装
由于混音尚无任何插件支持(2022),因此我们需要直接使用Stylify CSS Bundler。
因此,让我们首先使用NPM或纱线安装 @stylify/bundler软件包:
npm i -D @stylify/bundler
yarn add -D @stylify/bundler
也需要进行手表模式,我们需要运行两个并行任务。这可以同时解决:
yarn add -D concurrently
npm i concurrently
接下来,创建一个文件,例如stylify.js
:
const { Bundler } = require('@stylify/bundler');
const isDev = process.argv[process.argv.length - 1] === '--w';
const bundler = new Bundler({
watchFiles: isDev,
// Optional
compiler: {
mangleSelectors: !isDev,
// https://stylifycss.com/docs/stylify/compiler#variables
variables: {},
// https://stylifycss.com/docs/stylify/compiler#macros
macros: {},
// https://stylifycss.com/docs/stylify/compiler#components
components: {},
// ...
}
});
// This bundles all CSS into one file
// You can configure the Bundler to bundle CSS for each page separately
// See bundler link below
bundler.bundle([
{ files: ['./app/**/*.tsx'], outputFile: './app/styles/stylify.css' },
]);
配置捆绑器时,在app/root.tsx
中添加路径:
import styles from '~/styles/stylify.css';
export function links() {
return [{ rel: 'stylesheet', href: styles }];
}
最后一步是将脚本添加到package.json
:
"scripts": {
"build": "yarn stylify:build & cross-env NODE_ENV=production remix build",
"dev": "concurrently 'yarn stylify:dev' 'cross-env NODE_ENV=development remix dev'",
"stylify:build": "node stylify.js",
"stylify:dev": "node stylify.js --w"
}
造型第一页
如果我们现在编辑app/routes/index.tsx
并运行yarn dev
命令,则将生成CSS:
export default function Index() {
return (
<h1 className="font-size:48px font-family:arial color:steelblue">
Stylify + Remix = 🚀
</h1>
);
}
定义组件和变量
我们还可以定义组件和变量。在文件中,使用它们或全局配置中的文件。
在下面的代码中,我们在使用组件的文件中使用配置。
/*
stylify-variables
blue: 'steelblue'
/stylify-variables
stylify-components
title: 'font-size:48px font-family:arial color:$blue'
stylify-components
*/
export default function Index() {
return (
<h1 className="title">
Stylify + Remix = 🚀
</h1>
);
}
生产CSS和JSX输出
JSX和CSS可以在生产中被弄脏(由compiler.mangleSelectors
配置)。如果是这样,输出甚至更小,并且看起来与下面的输出相似。
对于实用程序的第一个示例
export default function Index() {
return (
// For utilities from first example
<h1 className="a b c">
Stylify + Remix = 🚀
</h1>
);
}
.a { font-size:48px }
.b { font-family:arial }
.c { color:steelblue }
Stackblitz游乐场
继续尝试Stylify CSS + Remix on Stackblitz。
您可以根据需要自定义上述构建。
配置
上面的示例不包括Styllify可以做的所有内容:
- 定义components
- Add custom selectors
- 配置your macros像
ml:20px
for Margin-Left - 定义custom screens
- 您可以在模板中映射nested files
- 和更多
随时可以了解check out the docs了解更多ð。
让我知道你的想法!
如果您喜欢这个主意,请让我知道starring Stylify repo€€。
我会为任何反馈感到高兴! Stylify仍然是一个新图书馆,并且有很多改进的空间ð。