2017-06-05 120 views
0

我正在Lynda.com上运行一个教程,我试图运行一个gulpfile,语法很好,但我无法理解终端的错误。尝试在终端中运行时出现吞咽错误(无语法错误)

任何人都可以为我提供这方面的帮助吗?

非常感谢!

gulpfile.js

var themename = 'pistol4'; 

var gulp = require('gulp'), 


autoprefixer = require('autoprefixer'), 
browserSync = require('browser-sync').create(), 
image = require(gulp - image), 
jshint = require('gulp-jshint'), 
postcss = require('gulp-postcss'), 
sass = require('gulp-sass'), 
sourcemaps = require('gulp-sourcemaps'), 

//Only work with new or updated files 
newer = require('gulp-newer'), 

//Name of working theme folder 
root = '../' + themename + '/', 
scss = root + 'sass/', 
js = root + 'js/', 
img = root + 'images/', 
languages = root + 'languages'; 

// CSS via Sass and Autoprefixer 
gulp.task('css', function() { 
return gulp.src(scss + '(style.css,rtl.scss)') 
.pipe(sourcemaps.init()) 
.pipe(sass({ 
    outputStyle: 'expanded', 
    indentType: 'tab', 
    indentWidth: '1' 
}).on('error', sass.logError)) 
.pipe(postcss([ 
    autoprefixer('last 2 versions', '> 1%') 
    ])) 
.pipe(sourcemaps.write(scss + 'maps')) 
.pipe(gulp.dest(root)); 
}); 

//Optimize images trough gulp-image 
gulp.task('images', function() { 
    return gulp.src(img + 'RAW/**/*.(jpg,JPG,png)') 
    .pipe(newer(img)) 
    .pipe(image()) 
    .pipe(gulp.dest(img)); 
}); 

//Javascript 

gulp.task('javascript', function() { 
    return gulp.src([js + '*.js']) 
    .pipe(jshint()) 
    .pipe(jshint.reporter('default')) 
    .pipe(gulp.dest(js)); 
}); 

//Watch everything 
gulp.task('watch', function() { 
    browserSync.init({ 
     open: 'external', 
     proxy: 'pistol.dev', 
     port: '8080' 
    }); 
    gulp.watch([root + '**/*.css', root + '**/*.scss'], ['css']); 
    gulp.watch(js + '**/*.js', ['javascript']); 
    gulp.watch(img + 'RAW/**/*.{jpg,JPG,png}', ['images']); 
    gulp.watch(root + '**/*').on('change', browserSync.reload); 
}); 

//Default task (runs at initiation: gulp --verbose) 
gulp.task('default', ['watch']); 

错误日志从终端:

assert.js:81 
throw new assert.AssertionError({ 
^ 
AssertionError: missing path 
at Module.require (module.js:495:3) 
at require (internal/module.js:20:19) 
at Object.<anonymous> (C:\xampp\htdocs\pistol01.06.17\wp- 
content\themes\gulp-dev\gulpfile.js:7:10) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.require (module.js:497:17) 
at require (internal/module.js:20:19) 
+1

image = require(gulp - image),这条线对我来说似乎很腥。 在这里你定义一个var,哪个值是需要的模块,哪个路径是由图像var本身定义的? 这可能会导致您的问题。 – Juan

+0

非常感谢Juan,确实是这个问题,我反正这个问题并且工作正常,但是在我遇到这个问题之后“[BS]无法打开浏览器(如果你在无头环境中使用BrowserSync,你可能希望将打开选项设置为false) “我可以再次获得您的帮助吗?非常感谢!! –

+0

太棒了!你能解决这个问题吗?如果没有,你是否在公共公共公共回购中有这种情况?如果我们能克隆它,我们可以帮助你更好。 – Juan

回答

0

这条线:image = require(gulp - image),不会工作就像@Juan说。您的意思是:image = require('gulp-image'),

下一个错误:

"[BS] Couldn't open browser (if you are using BrowserSync in a headless environment, you might want to set the open option to false) "

因为我从来没有与浏览器同步工作,我只是猜测,写的东西,我从Google上搜寻它找到。

我有两个建议:

  1. 走进了“手表”的任务和变化:browserSync.init({open: 'external', 到:在短browserSync.init({open: 'false',只是做了错误说的做。
  2. 您需要让浏览器同步您打开浏览器的确切文件。 f.e .: '--browser "chrome.exe"'

请让我们知道你是如何修复它或如果有任何帮助。

相关问题