gulp开发环境和生产环境的配置,gulp是这样使用吗? 本地服务应该加载哪个呢?
src是开发环境,dist是生产环境!
我的服务器是应该加载dist下的文件吗?
我这配置了一个热加载,html修改的时候dist下的html浏览器也会自动改变!
那我每次修改src下的less会生成一个新的md5的css, rev下的文件映射的json也随之改变了,但是index加载的路径ms5的css却没有改变! 就导致页面不会发生变化?
我有点理不清 如果我们预览效果的话是在开发环境呢还是生产环境?
后台用的还是PHP,页面渲染也是由后台来做的
我得目的就是想, 把js压缩 css压缩 html压缩 image压缩 或者是把一些js合并
我的gulp配置文件
const gulp = require('gulp'); //引入gulp
const gulpsync = require('gulp-sync')(gulp);
const rev = require('gulp-rev'); //引入版本控制插件
const less = require('gulp-less'); //引入sass编译文件(需要安装)
const clean = require('gulp-clean'); //清空
const uglify = require('gulp-uglify'); //引入JS压缩插件(需要安装)
const concat = require('gulp-concat'); //引入合并插件(需要安装)
const htmlmin = require('gulp-htmlmin'); //html压缩
const connect = require('gulp-connect'); //本地服务器
const minify = require('gulp-minify-css'); //引入css压缩插件(需要安装)
const webserver = require('gulp-webserver'); //引入启动服务插件(需要安装)
const browserify = require('gulp-browserify'); //引入JS模块化插件(需要安装)
const revCollector = require('gulp-rev-collector'); //替换html资源路径
const config = require('./gulp.config.js');
// ---------------------------css---------------------------
gulp.task('less',function(){
gulp.src(config.less.src)
.pipe(less()) //解析css
.pipe(minify()) //压缩css
.pipe(rev()) //生产md5文件
.pipe(gulp.dest(config.less.dist)) //输出路径
.pipe(rev.manifest('rev-css-mainfest.json')) //生成文件映射
.pipe(gulp.dest(config.less.json)) //输出到指定目录下
.pipe(connect.reload())
})
// ---------------------------html---------------------------
gulp.task('html',function(){
var options = {
removeComments: true,//清除HTML注释
collapseWhitespace: true,//压缩HTML
collapseBooleanAttributes: false,//省略布尔属性的值 <input checked="true"/> ==> <input />
removeEmptyAttributes: false,//删除所有空格作属性值 <input id="" /> ==> <input />
removeScriptTypeAttributes: true,//删除<script>的type="text/javascript"
removeStyleLinkTypeAttributes: true,//删除<style>和<link>的type="text/css"
minifyJS: true,//压缩页面JS
minifyCSS: true//压缩页面CSS
};
gulp.src([config.html.rev,config.html.src])
.pipe(revCollector({replaceReved:true})) //资源替换
.pipe(gulp.dest(config.html.dist))
.pipe(connect.reload())
})
// ---------------------------server---------------------------
gulp.task('connect',function(){
connect.server({
root : 'dist', //监听文件目录
port : 8000, //端口
livereload : true //自动刷新
})
})
gulp.task('clean',function(){
gulp.src(['dist'])
.pipe(clean());
})
// 构建一个【监听】任务
gulp.task('watch',function(){
gulp.watch(config.less.src,['less'])
gulp.watch(config.html.src,['html'])
})
//设置【默认】任务
gulp.task('default',gulpsync.sync(['watch','connect']));
gulp.task('build', function(cb) {
runSequence('clean', ['less', 'js'], 'rev');
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论