json Laravel Gulp设置 - 使用实时重载编译脚本和样式(以及自定义路径和实时构建选项)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json Laravel Gulp设置 - 使用实时重载编译脚本和样式(以及自定义路径和实时构建选项)相关的知识,希望对你有一定的参考价值。
// ---------------------------------------------------------------------------------
// libs
var gulp = require('gulp'),
// tools
sass = require('gulp-sass'),
uglify = require('gulp-uglify'),
sourcemaps = require('gulp-sourcemaps'),
livereload = require('gulp-livereload'),
// utilities
argv = require('yargs').argv,
gulpif = require('gulp-if'),
rename = require('gulp-rename'),
concat = require('gulp-concat');
// ---------------------------------------------------------------------------------
// config
// paths
var src =
{
css: 'resources/assets/sass/**/*.scss',
js : 'resources/assets/js/**/*.js'
};
var trg =
{
css: 'public/assets/css/',
js : 'public/assets/js/'
};
// ---------------------------------------------------------------------------------
// sub tasks
gulp.task('styles', function ()
{
return gulp
.src(src.css)
// source maps for local and staging
.pipe(gulpif(!argv.live, sourcemaps.init()))
// compress only when live
.pipe(sass(argv.live ? {outputStyle: 'compressed'} : null).on('error', sass.logError))
// source maps for local and staging
.pipe(gulpif(!argv.live, sourcemaps.write()))
// save
.pipe(gulp.dest(trg.css))
// livereload
.pipe(livereload());
});
gulp.task('scripts', function ()
{
return gulp
.src(src.js)
// source maps for local and staging
.pipe(gulpif(!argv.live, sourcemaps.init()))
// always concat + uglify, but mangle only on live
.pipe(uglify({compress: true, mangle: argv.live}))
.pipe(concat('all.js'))
// source maps only if not live
.pipe(gulpif(!argv.live, sourcemaps.write()))
// save
.pipe(rename({extname: '.min.js'}))
.pipe(gulp.dest(trg.js))
// livereload
.pipe(livereload());
});
// ---------------------------------------------------------------------------------
// main tasks
/**
* Build styles and scripts
*
* Call "gulp build --live" to mangle/compress and skip source maps
*/
gulp.task('build', function ()
{
gulp.start('styles', 'scripts');
});
/**
* Monitor styles and scripts, and live-reload when saved
*/
gulp.task('default', function ()
{
// live-reload
livereload({start: true});
livereload.listen();
// watch
gulp.watch(src.css, ['styles']);
gulp.watch(src.js, ['scripts']);
});
{
"private": true,
"devDependencies": {
"gulp": "^3.9.0",
"gulp-concat": "^2.6.0",
"gulp-if": "^2.0.0",
"gulp-livereload": "^3.8.1",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.0.4",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.4.2",
"yargs": "^3.29.0"
}
}
以上是关于json Laravel Gulp设置 - 使用实时重载编译脚本和样式(以及自定义路径和实时构建选项)的主要内容,如果未能解决你的问题,请参考以下文章
json 前端项目gulp设置
laravel中使用gulp打包发布前端部分
laravel 使用 vue (gulp)
基于 Laravel 开发博客应用系列 —— 从测试开始:使用Gulp实现自动化测试
Gulp:找不到模块'laravel-elixir-vue-2'
Laravel(@ 8000)+ Angular with Gulp(@ 9000),如何在请求9000时让gulp代理8000端口?