glup安装与使用

提前安装了node.js,安装包里面集成了npm,然后我们就可以利用npm命令从获取淘宝镜像的cnpm了。 
1.打开命令行窗口,输入

npm install -g cnpm --registry=https://registry.npm.taobao.org

获取到cnpm以后,输入下面的命令,都用cnpm不需要用$ npm;

cnpm install -g gulp  //全局安装
cnpm install --save-dev gulp   //本地安装,只是开发版的依赖
cnpm install --save-dev browser-sync

browser-sync是一个十分好用的浏览器同步测试工具。

若出现这样的问题:

则继续安装:

cnpm install gulp-imagemin

 

package.json

 
  
{
"devDependencies": {
"browser-sync": "^2.23.6",
"gulp": "^3.9.1",
"gulp-cache": "^1.0.1",
"gulp-clean": "^0.3.2",
"gulp-file-include": "^1.2.0",
"gulp-imagemin": "^3.1.1",
"gulp-jshint": "^2.0.4",
"gulp-minify-css": "^1.2.4",
"gulp-rename": "^1.2.2",
"gulp-replace-name": "^1.0.1",
"gulp-tinypng-nokey": "^1.1.0",
"gulp-uglify": "^2.0.0",
"jshint": "^2.9.4"
}
}
 

gulpfile.js

 
  
// 载入插件
var gulp = require('gulp'),
browserSync = require('browser-sync').create(),//浏览器刷新工具
imagemin = require('gulp-imagemin'),//图片压缩
tinypng = require('gulp-tinypng-nokey');//tinypng图片压缩
minifycss = require('gulp-minify-css'),//css压缩
uglify = require('gulp-uglify'),//js压缩
jshint = require('gulp-jshint'),//js语法检测
rename = require('gulp-rename'),//重命名
gclean = require('gulp-clean'),//清除文件
minimist = require('minimist'),//截取传参
cache = require('gulp-cache'),//获取文件cache
replaceName = require('gulp-replace-name'),//修改文件名
fileinclude = require('gulp-file-include');//静态资源引用

// 获取配置参数
var options = minimist(process.argv.slice(2));

/*html实时预览*/
gulp.task('server', function() {
if(options.url){
var url=options.url;
console.log('文件路径:'+url);
browserSync.init({
server: {
baseDir: './'+url
}
});
//监听文件变化数组
gulp.watch([url+'/*.*',url+'/**/*.*']).on("change", browserSync.reload);
}else{
console.log('配置参数错误;例:gulp server --url demo/abc');
}
});

/*html-file实时预览*/
gulp.task('tplserver',['tplout'], function() {
console.log('为了调试方便建议分三层目录:dist(模版合并后输出目录)、src(开发目录)、statics(静态资源js/css/img)');
console.log('html:@@include("tpl_header.html");公共模版文件夹名称:tpl');
console.log('输出地址访问+:/dist/');
if(options.url){
var url=options.url;
console.log('文件路径:'+url);
browserSync.init({
server: {
baseDir: './'+url
}
});
gulp.watch([url+'/**/*.*',url+'/**/*.*',url+'/*.*','!'+url+'/dist/*.*','!'+url+'/dist/**/*.*'],['tplout']).on("change", browserSync.reload);
}else{
console.log('配置参数错误;例:gulp tplserver --url demo/abc');
}
});
// 模版载入输出,默认输出到dist目录,模版文件tpl_开头
gulp.task('tplout', function() {
console.log(options.url);
if(options.url){
gulp.src([options.url+'/src/*.html',options.url+'/src/**/*.html','!'+options.url+'/src/tpl/*.html'])
.pipe(fileinclude({
prefix: '@@',
basepath: '@file'
}))
.pipe(gulp.dest(options.url+'/dist'));
}else{
console.log('配置参数错误;例:gulp tplout --url demo/abc');
}
});

//IMG压缩 支持GIF、PNG、JPG压缩率不高
gulp.task('imagemin',function(){
if(options.url){
var thisUrl = options.url;
console.log('压缩地址路径:'+thisUrl);
gulp.src([thisUrl+'/*.{gif,png,jpg,jpeg}',thisUrl+'/**/*.{gif,png,jpg,jpeg}'])
.pipe(imagemin())
.pipe(gulp.dest(thisUrl));
}else{
console.log('配置参数错误;例:gulp imagemin --url demo');
}
});

// 图片压缩tinypng,api请求速度会慢点;只能压缩PNG和JPG
gulp.task('picmin', function () {
if(options.url){
var thisUrl = options.url;
console.log('压缩地址路径:'+thisUrl);
gulp.src([thisUrl+'/*.{png,jpg,jpeg}',thisUrl+'/**/*.{png,jpg,jpeg}'])
.pipe(cache(tinypng()))
.pipe(gulp.dest(thisUrl));
}else{
console.log('配置参数错误;例:gulp picmin --url demo/abc');
}
});

// css压缩
gulp.task('cssmin', function() {
if(options.url){
var thisUrl=options.url;
console.log('压缩地址路径:'+thisUrl);
gulp.src([thisUrl+'/*.css',thisUrl+'/**/*.css','!'+thisUrl+'/**/*.min.css'])
.pipe(minifycss()) //执行压缩
.pipe(rename({suffix: '.min'})) //重命名
.pipe(gulp.dest(thisUrl)); //输出文件夹
}else{
console.log('配置参数错误;例:gulp cssmin --url demo/abc');
}
});
// js压缩
gulp.task('jsmin', function() {
if(options.url){
var thisUrl=options.url;
console.log('压缩地址路径:'+thisUrl);
gulp.src([thisUrl+'/**/*.js',thisUrl+'/*.js','!'+thisUrl+'/**/*.min.js'])
.pipe(jshint()) //js语法检测
.pipe(uglify()) //执行压缩
.pipe(rename({suffix: '.min'})) //重命名
.pipe(gulp.dest(thisUrl)); //输出文件夹
}else{
console.log('配置参数错误;例:gulp jsmin --url demo/abc');
}
});
// 全部压缩
gulp.task('allmin', function(){
gulp.start('cssmin', 'jsmin', 'picmin');
});

// 修改名字rname
gulp.task('rname', function() {
if(options.url){
var thisUrl=options.url;
gulp.src([thisUrl+'/m_*.php',thisUrl+'/**/m_*.php'])
.pipe(replaceName(/m_/g, 'mip_')) //重命名
.pipe(gulp.dest(thisUrl)); //输出文件夹
gulp.src([thisUrl+'/m_*.php',thisUrl+'/**/m_*.php']).pipe(gclean())
}else{
console.log('配置参数错误;例:gulp rname --url demo/abc');
}
});
 

项目目录

 

转载于:https://www.cnblogs.com/chenmiaosong/p/8216611.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 gulp 和 gulp-webserver,你需要遵循以下步骤: 1. 首先,确保你的计算机上已经安装了 Node.js。你可以在命令行中运行 `node -v` 来检查是否已经安装。 2. 打开命令行界面(终端或命令提示符),然后进入你的项目目录。 3. 在项目目录中,运行以下命令来初始化 npm(Node.js 包管理器): ``` npm init ``` 这将引导你创建一个 `package.json` 文件,用于管理项目的依赖项。 4. 接下来,你可以通过运行以下命令来安装 gulp 和 gulp-webserver: ``` npm install gulp gulp-webserver --save-dev ``` 这将在你的项目中安装 gulp 和 gulp-webserver,并将其添加为开发依赖项。 5. 安装完成后,你可以在项目根目录下创建一个名为 `gulpfile.js` 的文件。在这个文件中,你可以编写和配置 gulp 任务。 例如,你可以创建一个简单的 gulp 任务来启动 web 服务器: ```javascript const gulp = require('gulp'); const webserver = require('gulp-webserver'); gulp.task('serve', function() { return gulp.src('./') .pipe(webserver({ livereload: true, open: true })); }); gulp.task('default', gulp.series('serve')); ``` 6. 保存 `gulpfile.js` 文件后,在命令行中运行以下命令来启动 gulp 任务: ``` gulp ``` 这将启动你的 web 服务器并监听文件变化。 请注意,以上步骤假设你已经在项目中正确安装了 gulp 和 gulp-webserver。如果遇到任何错误或问题,你可以检查是否正确安装了依赖项,或者在相关文档中查找更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值