postcss-remove-global
发布一个 PostCSS 插件,用来移除样式中的 :global 标识符。
* github 链接:https://github.com/tfanme/postcss-remove-global
* npm 链接:https://www.npmjs.com/package/postcss-remove-global
目前支持三种场景,第一种是 :global
作为一个单独的选择器,第二种是 :global
作为选择器的一部分,第三种是 :global
作为 @keyframe
属性的一部分。分别对应下面的三个示例。
示例
- Remove :global as a single selector
:global {
a { }
}
a { }
- Remove :global as part of a selecotr
.root :global .text { margin: 0 6px; }
.root .text { margin: 0 6px; }
- Remove :global as part of params of @keyframe
@keyframes :global(zoomIn) { }
@keyframes zoomIn { }
如何使用
使用 postcss API
const postcss = require('postcss')
const removeGlobal = require('postcss-remove-global')
const css = postcss()
.use(removeGlobal())
.process(':global { a {color: gray(85); background-color: gray(10%, .25)}}')
.css
console.log('css = ', css)
//= 'a {color: gray(85); background-color: gray(10%, .25)}'
const css2 = postcss([removeGlobal])
.process('.root :global .text { margin: 0 6px; }')
.css
console.log('css2 = ', css2)
//= '.root .text { margin: 0 6px; }'
const css3 = postcss([removeGlobal])
.process('@keyframes :global(zoomIn) { }')
.css
console.log('css3 = ', css3)
//= '@keyframes zoomIn { }'
参见:https://github.com/tfanme/try-postcss/blob/master/src/Plugin/plugin-remove-global.js
结合 gulp
gulp.task('global', () => {
return gulp.src('assets/*.css')
.pipe(postcss([removeGlobal]))
.pipe(gulp.dest('build/'))
})
参见:https://github.com/tfanme/try-postcss/blob/master/gulpfile.js