Gulp文件第一次运行,但是在监视任务' elixir'保存css文件时

时间:2016-09-21 11:03:49

标签: css node.js gulp laravel-5.2 laravel-elixir

我一直试图让这个工作几个小时,并且已经广泛搜索了SO和Google,但是找不到类似的东西,所以如果之前已经提出过这样的道歉,那么道歉。这也是我的第一个问题,所以请原谅任何格式错误或不良做法(例如,我不确定是否发布我的完整Gulp文件,因此在提供尽可能多的信息方面是错误的。)

问题:我的gulp文件在启动它时完成了完整的任务列表,但是如果我更改并保存我的main.css文件,它会提供如下所示的错误...

我的Gulp文件如下所示:

'use strict';
var gulp = require('gulp');
var watch = require('gulp-watch');
var elixir = require('laravel-elixir');
var minifycss = require('gulp-minify-css');
var autoprefixer = require('gulp-autoprefixer');
var notify = require('gulp-notify');
var sass = require('gulp-sass');
var exec = require('child_process').exec;
var sys = require('sys');
var browserSync = require('browser-sync').create();

gulp.task('elixir', function(){
    return elixir(function(mix) {
    mix.sass('app.scss','public/css',{outputStyle: 'compressed'})
    .styles([
    'bootstrap.min.css','sweetalert.css','font-awesome.min.css','main.css'
    ],'public/css')
    .scripts([
    'jquery.min.js','bootstrap.min.js','sweetalert-dev.js'
    ],'public/js');
    });
});

gulp.task('css', function(){
    return gulp.src('public/css/all.css')
    .pipe(autoprefixer('last 15 version'))
    .pipe(minifycss({keepSpecialComments : 0}))
    .pipe(gulp.dest('public/css'))
    .pipe(notify({ message: 'CSS compiled, prefixed and minified.' }));
});

gulp.task('phpunit', function(){
    exec('phpunit', function(error, stdout){
    sys.puts(stdout);
    notify({ message: 'Unit testing complete.' });
    });
});

gulp.task('browserSync', function(){
    browserSync.init({
        browser: "firefox",
        proxy: "http://localhost/laravelbp/"
    });
    browserSync.reload;
});

gulp.task('watch', function () {
    gulp.watch('*.php', ['phpunit']);
    gulp.watch('*.css', ['elixir','css','browserSync']);
});

gulp.task('default',['elixir','css','phpunit','browserSync','watch']);

终端中的输出如下所示:

Tue Sep 20(16:00)~ root@:/opt/lampp/htdocs/laravelbp: gulp
(node) sys is deprecated. Use util instead.
[15:59:18] Using gulpfile /opt/lampp/htdocs/laravelbp/gulpfile.js
[15:59:18] Starting 'elixir'...
[15:59:19] Finished 'elixir' after 246 ms
[15:59:19] Starting 'css'...
[15:59:19] Starting 'phpunit'...
[15:59:19] Finished 'phpunit' after 10 ms
[15:59:19] Starting 'browserSync'...
[15:59:19] Finished 'browserSync' after 48 ms
[15:59:19] Starting 'watch'...
[15:59:19] Finished 'watch' after 59 ms
[15:59:19] Starting 'default'...
[15:59:19] Starting 'styles'...

Fetching Styles Source Files...
- resources/assets/css/bootstrap.min.css
- resources/assets/css/sweetalert.css
- resources/assets/css/font-awesome.min.css
- resources/assets/css/main.css

Saving To...
- public/css/all.css

[15:59:19] Finished 'default' after 474 ms
(node) util.puts is deprecated. Use console.log instead.

PHPUnit 4.8.27 by Sebastian Bergmann and contributors.
.
Time: 609 ms, Memory: 8.50MB
OK 
(1 test, 2 assertions)

[BS] Proxying: http://localhost
[BS] Access URLs:
---------------------------------------------
Local: http://localhost:3000/laravelbp/
External: http://10.0.2.15:3000/laravelbp/
---------------------------------------------
UI: http://localhost:3001
UI External: http://10.0.2.15:3001
---------------------------------------------

[15:59:20] gulp-notify: [Gulp notification] CSS compiled, prefixed and minified.
[15:59:20] Finished 'css' after 1.5 s
[15:59:20] gulp-notify: [Laravel Elixir] Stylesheets Merged!
[15:59:20] Finished 'styles' after 1.44 s
[15:59:20] Starting 'scripts'...

Fetching Scripts Source Files...
- resources/assets/js/jquery.min.js
- resources/assets/js/bootstrap.min.js
- resources/assets/js/sweetalert-dev.js

Saving To...
- public/js/all.js

[15:59:22] gulp-notify: [Laravel Elixir] Scripts Merged!
[15:59:22] Finished 'scripts' after 1.72 s
[15:59:36] Starting 'styles'... ** << Here is where I hit Save on main.css**
[15:59:36] 'styles' errored after 187 μs
[15:59:36] TypeError: Cannot read property 'run' of undefined
at Gulp.<anonymous> (/opt/lampp/htdocs/laravelbp/node_modules/laravel-elixir/index.js:89:51)
at module.exports (/opt/lampp/htdocs/laravelbp/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/opt/lampp/htdocs/laravelbp/node_modules/orchestrator/index.js:273:3)
at Gulp.Orchestrator._runStep (/opt/lampp/htdocs/laravelbp/node_modules/orchestrator/index.js:214:10)
at Gulp.Orchestrator.start (/opt/lampp/htdocs/laravelbp/node_modules/orchestrator/index.js:134:8)
at Function.<anonymous> (/opt/lampp/htdocs/laravelbp/node_modules/laravel-elixir/tasks/watch.js:41:39)
at bound (domain.js:287:14)
at runBound (domain.js:300:12)
at asyncRunner (/opt/lampp/htdocs/laravelbp/node_modules/async-done/index.js:36:18)
at nextTickCallbackWith0Args (node.js:452:9)

因此,总而言之,Gulp(版本3.9.1)文件会经历&#39;样式&#39;第一次运行没问题,包括在运行Gulp之前加载浏览器我对main.css所做的任何更改,但是如果我对main.css进行了任何更改并在Gulp运行时点击保存,则显示上面的错误每次我点击保存时都会不断出现。 任何帮助将不胜感激。

0 个答案:

没有答案