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的更多相关文章
随机推荐
- Calendar类的使用——闰年的计算
1.Calendar类: 是一个抽象类,需要导入java.util.Calendar包. Calendar c = Calendar.getInstance(); getInstance直接返回的是子 ...
- heptio scanner kubernetes 集群诊断工具部署说明
heptio scanner 是一款k8s 集群状态的诊断工具,还是很方便的,但是有一点就是需要使用google 的镜像 参考地址 https://scanner.heptio.com/ 部署 kub ...
- 修改VS2017模板文件,添加文件头部自定义注释
找到Class.cs文件 找到VS2017安装目录下面的Class.cs文件,一般在C盘或者D盘 模块文件位置: 接口模版:C:\Program Files (x86)\Microsoft Visua ...
- xmtech-3516默认环境变量
xmtech # print bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;sf probe ;sf read ;squ ...
- python super()函数
super()函数是用来调用父类(超类)的一个方法 super()的语法: python 2 的用法: super(Class, self).xxx # class是子类的名称 class A(ob ...
- 二维指针的malloc内存分配(转)
写代码的时候会碰到多维数组的内存分配和释放问题,在分配和释放过程中很容易出现错误.下面贴上一些示例代码,以供参考. 如果要给二维数组(m*n)分配空间,代码可以写成下面: char **a, i; 1 ...
- svn already lock解决方法
svn在pull的时候,出现svn already lock 错误.只需要在Cleanup里面勾选Break locks
- [C#]async和await刨根问底
上一篇随笔留下了几个问题没能解决:· 调用IAsyncStateMachine.MoveNext方法的线程何时发起的?· lambda的执行为何先于MoveNext方法?· 后执行的MoveNext方 ...
- java注解的自定义和使用
小伙伴们.今天我们来说说注解.标志@ .针对java不同版本来说,注解的出现是在jdk1.5 但是在jdk1.5版本使用注解必须继续类的方法的重写,不能用于实现的接口中的方法实现,在jdk1.6环境下 ...
- mac home目录创建文件夹,修改权限
mac 是基于unix, 自带就有home目录,但是为空.home目录的默认所属用户是root wheel,mac默认的root账号所属用户是root admin,所以root也无法在home目录下创 ...