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的更多相关文章
随机推荐
- hive 分隔符替换
Hive建表的时候虽然可以指定字段分隔符,不过用insert overwrite local directory这种方式导出文件时,字段的分割符会被默认置为\001,一般都需要将字段分隔符转换为其它字 ...
- jquery trigger函数和triggerHandler函数的对照
一句话的差别就是:trigger will bubbling jQuery events (not default DOM events) and triggerHnadler will not do ...
- Tower Defense Toolkit 学习
代码太多,就不贴了.用到的基本已注释. 游戏中的数据存放在Resources/Database中.游戏运行时,通过Resources.Load加载 UI构成 对象池 using UnityEngi ...
- git和gulp使用
git push origin master/chunxiong git remote -v git merge chunxiong working tree:就是你所工作在的目录,每当你在代码中进行 ...
- js 去掉前后空格(正则表达式方法)
代码: ' aaa '.replace(/(^\s*)|(\s*$)/g, '')
- centos7 虚拟机安装 以后不能联网问题
1 设置 网络模式为桥接. 2 配置/etx/sysconfig/network-scrips/ifcfg-enthp0s3为如下配置( ip 网段 根据自己网段决定) TYPE=Ethernet P ...
- ELK入门以及常见指令
ES的资源: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started.htmlhttps://w ...
- CF 666E Forensic Examination——广义后缀自动机+线段树合并
题目:http://codeforces.com/contest/666/problem/E 对模式串建广义后缀自动机,询问的时候把询问子串对应到广义后缀自动机的节点上,就处理了“区间”询问. 还要处 ...
- [转]Python中yield的解释
转自: http://python.jobbole.com/83610/ 本文作者: 伯乐在线 - wklken .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 翻译 来源于stackover ...
- NVMe标准规范
NVMe NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),,是一个逻辑设备接口规范.他是与AHCI类似的.基于设备逻辑 ...