zoukankan      html  css  js  c++  java
  • 使用Gulp定制前端开发环境

    1.安装package.json中依赖了的组件

    npm install

    2.来到本地路径,创建工程配置文件

    npm init

    3.本地安装gulp

    npm install gulp --save-dev

    4.复用功能的插件

    npm install gulp-file-include --save-dev

    5.合并文件的插件

    npm install gulp-concat --save-dev

    6.压缩css文件的插件

    npm install gulp-cssmin --save-dev

    7.安装服务的插件

    npm install gulp-connect --save-dev

    8.自动打开浏览器的插件

    npm install gulp-open --save-dev

    9.配置 gulpfile.js

    var gulp = require('gulp'),  // 引入gulp
    	fileinclude = require('gulp-file-include'), // 复用功能
    	concat = require('gulp-concat'), // 合并
    	cssmin = require('gulp-cssmin'), // 压缩
    	connect = require('gulp-connect'), // 安装服务
    	gulpopen = require('gulp-open'), // 自动打开浏览器
    	os = require('os') // 用于检测环境,nodejs内置组件
    
    // 运行环境的检测 处理兼容问题
    var browser = os.platform() === 'linux' ? 'google-chrome' : (
    	os.platform() === 'darwin' ? 'google chrome' : (
    			os.platform() === 'win32' ? 'chrome' : 'chrome'
    		)
    	)
    
    // 合并HTML
    gulp.task('fileinclude',function(done) {
    	gulp.src('src/views/*.html')
    	.pipe(fileinclude({
    		prefix: '@@',
    		basepath: '@file'
    	}))
    	.pipe(gulp.dest('dist/views'))
    	.on('end',done)
    })
    
    // 合并、压缩CSS
    gulp.task('cssmin',function(done){ // 定义任务
    	gulp.src(['src/css/*.css']) // 找对象
    		.pipe(concat('style.min.css')) // pipe管道
    		.pipe(cssmin())
    		.pipe(gulp.dest('dist/css/'))
    		.on('end',done)
    })
    
    // 拷贝图片
    gulp.task('copy:images',function(done){
    	gulp.src(['src/images/*'])
    		.pipe(gulp.dest('dist/images'))
    		.on('end',done)
    })
    
    // 配置路径
    var host = {
    	path: 'dist/',
    	port: 8090,
    	index: 'qzgcs.html'
    }
    
    // 运行web服务器
    gulp.task('connect',function() {
    	connect.server({
    		root: host.path,
    		port: host.port,
    		livereload: true  // 热更新
    	})
    })
    
    // 监控文件变化
    gulp.task('watch',function(done){
    	gulp.watch('src/**/*',['cssmin','fileinclude'])
    		.on('end',done)
    })
    
    // 自动打开浏览器
    gulp.task('open',function(done){
    	gulp.src('')
    		.pipe(gulpopen({
    			app: browser,
    			uri: 'http://localhost:8090/views/' + host.index
    		}))
    		.on('end',done)
    })
    
    // 任务组装
    gulp.task('default',['fileinclude','cssmin','copy:images'],function(){ // 默认任务  任务集合(没有先后顺序)  回调函数
    	// body...
    })
    // 开发模式
    gulp.task('dev',['fileinclude','cssmin','copy:images','connect','watch','open'])
    
    // npm i 安装package.json上的所有 dev
    // set 查看环境变量
    // set | findstr "NVM"
    // on 事件监听机制
    

    结果:$ gulp dev

    运行前:

     

    运行后:

     

  • 相关阅读:
    Flex 自定义事件
    ORACLE中date类型字段的处理
    微信公众号开发
    idHTTP最简洁的修改和取得Cookie例子
    使用TidCookieManager得到cookie
    dhttp与IdCookieManager处理登陆过程
    Delphi IdHTTP 设置cookie 和访问后读取Cookie 值(重要collection不需要item索引)
    idhttp与cookie
    delphi inttohex 整型到十六进制
    03006_Servlet简介
  • 原文地址:https://www.cnblogs.com/crazycode2/p/7131766.html
Copyright © 2011-2022 走看看