• 使用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

    运行前:

     

    运行后:

     

  • 相关阅读:
    UNIX环境C
    UINX标准C
    centOS 部署服务器(三)
    centOS 部署服务器(二)
    centOS 部署服务器(一)
    mysql数据库的还原及常见问题解决
    tomcat启动报错java.lang.OutOfMemoryError:PermGen space解决办法
    mysql 使用service mysqld start 提示未识别服务 进入/etc/rc.d/init.d 下面未发现有mysqld解决方法
    数据库表修复问题
    Ubuntu系统图形化界面无法登录到root用户的解决方法
  • 原文地址:https://www.cnblogs.com/crazycode2/p/7131766.html
Copyright © 2020-2023  润新知