Skip to content

fzred/gulp-local-css

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-local-css

css局部作用域的gulp实现插件

安装

npm install gulp-local-css

使用

const gulp = require('gulp')
const localCss = require('gulp-local-css')

gulp.task('css', function () {
    gulp.src('src/pages/**/*.css', { base: 'src' })
        .pipe(localCss.styleRewrite())
        .pipe(gulp.dest('dist'))
})
gulp.task('html', function () {
    gulp.src('src/pages/**/*.html', { base: 'src' })
        .pipe(localCss.htmlRewrite())
        .pipe(gulp.dest('dist'))
})

gulp.task('default', ['css', 'html'])

API

styleRewrite([options])

给css选择器加上属性选择器

/* 处理前 */
body {
    /*global*/
    background: #333;
}
h1 {
    font-size: 100px;
}

/* 处理后 */
body {
    /*global*/
    background: #333;
}

h1[_c86f0316] {
    font-size: 100px;
}
给css内容第一行加上 /*global*/ 则不加属性选择器

htmlRewrite([options])

给html加上hash属性

<!--处理前-->
<body>
<h1>hello MID</h1>
</body>

<!--处理后-->
<body _c86f0316>
<h1 _c86f0316>hello _c86f0316</h1>
</body>

文件中 MID 为全局的占位符,编译后会替换为 hash 值,一般用做ID,或者在JS里使用

HASH 如何计算?

default

使用 文件相对于base的路径去掉扩展名后 作为值生成hash

推荐的目录结构

index
    index.css
    index.html
about
    index.css
    index.html

如果默认的计算hash的方式不适合你的目录,你也可以自己编写 getHash 函数

options.getHash

getHash 被调用时会传入一个参数

返回值即为 hash 值

examples

About

css局部作用域的gulp实现插件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published