gulp的使用

参考Gulp中文官网https://www.gulpjs.com.cn/

 

1、首先下载npm 或 cnpm

 

2、全局安装gulp

npm install --global gulp

 

3、作为项目的开发依赖安装

npm install --save-dev gulp (此时会生产配置文件pakeage.json)

 

4、创建gulpfile.js文件

var gulp = require('gulp'); gulp.task('default', function() { // 将你的默认的任务代码放在这 });

5、执行语句

gulp build (build为你自己创建的任务)

 

 

gulp 插件的下载

命令行

cnpm install gulp gulp-clean-css gulp-uglify gulp-concat gulp-rename gulp-jshint jshint gulp-less gulp-sass --save-dev 等

下载自己要用的插件

 

 

下面是案例

var gulp = require('gulp'),
    less = require('gulp-less'),
    sass = require('gulp-sass');
    minifycss = require('gulp-clean-css'),//css文件压缩
    concat = require('gulp-concat'),//js合并
    uglify = require('gulp-uglify'),//js压缩
    rename = require('gulp-rename'),//重命名  给js压缩文件添加.min前缀
    jshint=require('gulp-jshint');//js语法检查
//定义一个testLess任务(自定义任务名称)
gulp.task('testLess', function () {
    gulp.src('less/*.less')       //该任务针对的文件
        .pipe(less())             //该任务调用的模块
        .pipe(gulp.dest('css'));  //将会在css下生成index.css
});
//定义一个testScss任务(自定义任务名称)
gulp.task('testSass', function () {
    gulp.src('sass/*.scss')      //该任务针对的文件
        .pipe(sass())         //该任务调用的模块
        .pipe(gulp.dest('css'));  //将会在css下生成index.css
});

//语法检查
gulp.task('jshint', function () {
    return gulp.src('js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
});
//压缩css
gulp.task('minifycss', function() {
    return gulp.src('css/*.css')    //需要操作的文件
        .pipe(rename({suffix: '.min'}))   //rename压缩后的文件名
        .pipe(minifycss()) //执行压缩css
        .pipe(gulp.dest('allcss')); //输出文件夹
});
//压缩,合并js
gulp.task('minifyjs', function() {
    return gulp.src('js/*.js')          //需要操作的文件
        .pipe(concat('all.js'))         //合并所有js到all.js
        .pipe(gulp.dest('alljs'))       //输出到文件夹alljs下
        .pipe(rename({suffix: '.min'})) //rename压缩后的文件名
        .pipe(uglify())    //压缩
        .pipe(gulp.dest('alljs'));  //输出
});
/*//默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作)
 gulp.task('default',['jshint'],function() {
 gulp.start('minifycss','minifyjs');
 });*/

gulp.task('gulpWatch',function(){
    gulp.watch('js/*.js',['minifyjs']);
    gulp.watch('less/*.less',['testLess','minifycss']);
});
//同时让默认程序执行一次,可以提高开始执行速度。
gulp.task('default',['jshint','testLess','testSass','minifycss','minifyjs','gulpWatch']);

 

这是一份angular.js项目简单的gulp操作

var gulp = require('gulp');
var clean = require('gulp-clean'); //清理文件或文件夹
var minify = require('gulp-uglify'); //- 压缩js;
// var babel = require("gulp-babel"); // es6=>es5
//var concat = require('gulp-concat');                            //- 多个文件合并为一个;
var minifyCss = require('gulp-clean-css'); //- 压缩CSS为一行;
var rev = require('gulp-rev'); //- 对文件名加MD5后缀
var revAppend = require('gulp-rev-append'); //- 给URL自动添加MD5版本号
var revCollector = require('gulp-rev-collector'); //- 路径替换
var replace = require('gulp-replace'); //替换地址
var runSequence = require('gulp-run-sequence');
var revFormat = require('gulp-rev-format');
var revReplace = require('gulp-rev-replace');
var ngAnnotate = require('gulp-ng-annotate');
var ngmin = require('gulp-ngmin');
var stripDebug = require('gulp-strip-debug');

/*=====================清理构建目录==========================*/
gulp.task('clean', function() {
	return gulp.src('dist/', {
			read: false
		})
		.pipe(clean());
});

/*=====================copy其他静态资源文件==========================*/
gulp.task('copyfont', function() {
	return gulp.src(['qinyuan/font/*'])
		.pipe(gulp.dest('dist/font'))
});
gulp.task('copyimages', function() {
	return gulp.src(['qinyuan/images/*'])
		.pipe(gulp.dest('dist/images'))
});
gulp.task('copylay', function() {
	return gulp.src(['qinyuan/lay/**/*'])
		.pipe(gulp.dest('dist/lay'))
});
gulp.task('copypage', function() {
	return gulp.src(['qinyuan/pages/**/*'])
		.pipe(gulp.dest('dist/pages'))
});
gulp.task('copyhtml', function() {
	return gulp.src(['qinyuan/*.html'])
		.pipe(gulp.dest('dist'))
});
gulp.task('copycssimg', function() {
	return gulp.src(['qinyuan/css/img/*'])
		.pipe(gulp.dest('dist/css/img'))
});

/*=====================压缩js==========================*/
gulp.task('jsbusiness', function() {
	return gulp.src(['qinyuan/js/business/*.js']) // 匹配
	    .pipe(ngAnnotate())
        .pipe(ngmin({dynamic: false}))//Pre-minify AngularJS apps with ngmin
		.pipe(minify())
		.pipe(rev())
		.pipe(gulp.dest('dist/js/business'))
		.pipe(rev.manifest())
		.pipe(gulp.dest("config/business"));
});
gulp.task('jscontrollers', function() {
	return gulp.src(['qinyuan/js/controllers/*.js']) // 匹配
		.pipe(ngAnnotate())
        .pipe(ngmin({dynamic: false}))//Pre-minify AngularJS apps with ngmin
		.pipe(minify())
		.pipe(rev())
		.pipe(gulp.dest('dist/js/controllers'))
		.pipe(rev.manifest())
		.pipe(gulp.dest("config/controllers"));
});
gulp.task('jsmove', function() {
	return gulp.src('qinyuan/js/dependency/**/*') // 匹配
		.pipe(gulp.dest('dist/js/dependency'))
});

/*=====================压缩css==========================*/
gulp.task('concat', function() {
	return gulp.src(['qinyuan/css/**/*.css']) // 匹配
		.pipe(minifyCss())
		.pipe(gulp.dest('dist/css'))
});

/*=====================路径替换==========================*/
gulp.task('update-versionjs', function() {
	return gulp.src(['config/**/*.json', 'qinyuan/*.html'])
		.pipe(revCollector({
			replaceReved: true,
		}))
		.pipe(gulp.dest('dist/'));
});

gulp.task('build', function(done) {
	runSequence(
		['clean'],
		['copyfont', 'copyimages', 'copylay', 'copypage', 'copyhtml', 'copycssimg'],
		['jsbusiness', 'jscontrollers', 'jsmove'],
		['concat'],
		['update-versionjs'],
		done);
})

 如有疑问,请留言。。。可能有空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园2.0是高校信息化建设的新阶段,它面对着外部环境变化和内生动力的双重影响。国家战略要求和信息技术的快速发展,如云计算、大数据、物联网等,为智慧校园建设提供了机遇,同时也带来了挑战。智慧校园2.0强调以服务至上的办学理念,推动了教育模式的创新,并对传统人才培养模式产生了重大影响。 智慧校园建设的解决之道是构建一个开放、共享的信息化生态系统,利用互联网思维,打造柔性灵活的基础设施和强大的基础服务能力。这种生态系统支持快速迭代的开发和持续运营交付能力,同时注重用户体验,推动服务创新和管理变革。智慧校园的核心思想是“大平台+微应用+开放生态”,通过解耦、重构和统一运维监控,实现服务复用和深度融合,促进业务的快速迭代和自我演化。 智慧校园的总体框架包括多端协同,即“端”,它强调以人为中心,全面感知和捕获行为数据。这涉及到智能感知设备、超级APP、校园融合门户等,实现一“码”或“脸”通行,提供线上线下服务端的无缝连接。此外,中台战略是智慧校园建设的关键,包括业务中台和数据中台,它们支持教育资源域、教学服务域等多个领域,实现业务的深度融合和数据的全面治理。 在技术层面,智慧校园的建设需要分期进行,逐步解耦应用,优先发展轻量级应用,并逐步覆盖更多业务场景。技术升级路径包括业务数据化、数据业务化、校园设施智联化等,利用IoT/5G等技术实现设备的泛在互联,并通过人工智能与物联网技术的结合,建设智联网。这将有助于实现线上线下一网通办,提升校园安全和学习生活体验,同时支持人才培养改革和后勤管理的精细化。 智慧校园的建设不仅仅是技术的升级,更是对教育模式和管理方式的全面革新。通过构建开放、共享的信息化生态系统,智慧校园能够更好地适应快速变化的教育需求,提供更加个性化和高效的服务,推动教育创新和人才培养的高质量发展。
好的,以下是一个使用 `gulp-useref` 并过滤指定 js 文件的示例: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 过滤掉不需要处理的 js 文件 .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-useref` 来处理 HTML 文件,并将注释块中引用的 JS、CSS 文件合并到一个或多个文件中。同时,我们通过 `searchPath` 属性指定了搜索路径,这样 `gulp-useref` 就能够正确地解析 HTML 文件中的相对路径了。 接着,我们通过 `pipe` 方法将处理后的文件输出到 `dist` 目录中。在这个过程中,我们也可以使用 `gulp-if` 来过滤掉不需要处理的文件。例如,如果我们只想处理所有 `src` 目录下的 JS 文件,可以这样写: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); const gulpIf = require('gulp-if'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 只处理 src 目录下的 js 文件 .pipe(gulpIf('**/*.js', gulp.dest('dist'))) .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-if` 来过滤掉不需要处理的 JS 文件,而只处理 `src` 目录下的 JS 文件。这样,我们就能够只处理我们需要的文件了。 希望这个回答能够帮到你,如果你还有其他问题,可以继续问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值