gulp_css2js
var gulp = require('gulp');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var cssmin = require('gulp-minify-css');
var through = require('through-gulp');
var fs = require('fs');
function gulp_css2js() {
return through(function (file, enc, cb) {
if (file.isBuffer()) {
var cssContents = file.contents;
cssContents = cssContents.toString();
cssContents = cssContents.replace(/'/gm, '"');
var insertStyleCode = '' +
'function insertStyleCode(styleCode) {' +
' var styleNode = document.createElement("style");' +
' styleNode.type = "text/css";' +
' if (styleNode.styleSheet) { styleNode.styleSheet.cssText = styleCode;' +
' } else { styleNode.innerHTML = styleCode;}' +
' document.getElementsByTagName("head")[0].appendChild(styleNode);' +
'}' +
'';
var jsContents = '' +
'(function(){' +
' ' + insertStyleCode +
' var styleCode = \'' + cssContents + '\' ;' +
' insertStyleCode(styleCode);' +
'})();';
file.contents = new Buffer(jsContents);
this.push(file);
cb();
} else {
cb();
}
});
}
gulp.task('soma_news_ad_css',function(){
return gulp.src('./events/soma_news_ad/soma_news_ad.css')
.pipe(cssmin())
.pipe(gulp_css2js())
.pipe(rename('soma_news_ad_css.js'))
.pipe(gulp.dest('./events/soma_news_ad/dist'));
});
gulp.task('soma_news_ad',['soma_news_ad_css'],function () {
var jsArray = [
'./events/soma_news_ad/soma_news_ad.js',
'./events/soma_news_ad/dist/soma_news_ad_css.js'
];
return gulp.src(jsArray)
.pipe(concat('soma_news_ad_pack.js'))
.pipe(gulp.dest('./events/soma_news_ad/dist'))
.pipe(rename({suffix: '.min'}))
.pipe(uglify())
.pipe(gulp.dest('./events/soma_news_ad/dist'));
});
gulp_css2js的更多相关文章
随机推荐
- Centos7网络正常,但使用yum提示安装源无法连接
可以尝试使用yum clean all清空yum源本地缓存
- HotSpot VM GC 的种类
collector种类 GC在 HotSpot VM 5.0里有四种: incremental (sometimes called train) low pause collector已被废弃,不在介 ...
- C# to IL 5 Operator Overloading(操作符重载)
Every operator overload that we use in C#, gets converted to a function call in IL. Theoverloaded &g ...
- splitChunks. cacheGroups 里面的 maxInitialRequests 含义
entry文件请求的chunks不应该超过此值(请求过多,耗时) 出处:https://ymbo.github.io/2018/05/21/webpack%E9%85%8D%E7%BD%AE%E4%B ...
- requestAnimationFrame 知识点
与setTimeout相比,requestAnimationFrame最大的优势是由系统来决定回调函数的执行时机.具体一点讲,如果屏幕刷新率是60Hz,那么回调函数就每16.7ms被执行一次,如果刷新 ...
- API - .addClass()
比较简单的一个方法, jQuery官网中.addClass()有两种参数: 1 .addClass( className ) /* className 为一个或多个(多个时用空格分隔) css ...
- hanlp源码解析之中文分词算法详解
词图 词图指的是句子中所有词可能构成的图.如果一个词A的下一个词可能是B的话,那么A和B之间具有一条路径E(A,B).一个词可能有多个后续,同时也可能有多个前驱,它们构成的图我称作词图. 需要稀疏2维 ...
- ArrayBlcokingQueue,LinkedBlockingQueue与Disruptor三种队列对比与分析
一.基本介绍 ArrayBlcokingQueue,LinkedBlockingQueue是jdk中内置的阻塞队列,网上对它们的分析已经很多,主要有以下几点: 1.底层实现机制不同,ArrayBlco ...
- tomcat源码 StandardService
在执行StandardServer的initInternal的时候会执行StandardService#init,然后会调到initInternal protected void startInter ...
- Java多线程编程——并发编程原理(分布式环境中并发问题)
在分布式环境中,处理并发问题就没办法通过操作系统和JVM的工具来解决,那么在分布式环境中,可以采取一下策略和方式来处理: 避免并发 时间戳 串行化 数据库 行锁 统一触发途径 避免并发 在分布式环境中 ...