我一直试图让这个工作几个小时,并且已经广泛搜索了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运行时点击保存,则显示上面的错误每次我点击保存时都会不断出现。 任何帮助将不胜感激。