Gulp: SyntaxError: Unexpected end of JSON input

Gulp: SyntaxError: Unexpected end of JSON input

我有一个 AngularJS 应用程序,为此我使用了 bower、npm 和 gulp。这段代码几天前就可以工作了,不知道为什么,但是当我执行 gulp 命令时,我得到了以下信息:

gulp minifycss;

错误:

 SyntaxError: Unexpected end of JSON input
at Object.parse (native)
at module.exports (..\node_modules\main-bower-files\lib\index.js:48:43)
at Gulp.<anonymous> (..\gulpfile.js:72:33)
at module.exports (..\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (..\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (..\node_modules\orchestrator\index.js:214:10)
at Gulp.Orchestrator.start (..\node_modules\orchestrator\index.js:134:8)
at C:\Users\bgi5\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

Gulp代码:

var cleanCss = require('gulp-clean-css'),  
filter = require('gulp-filter'),
concat = require('gulp-concat'),
merge = require('merge-stream'),
bowerFiles = require('main-bower-files');
var config = {
paths: {
    src: './src',
    build: './build',
    bower: './bower_components'
}
};
gulp.task('minifyCss', function () {
var v= gulp.src(bowerFiles())
    .pipe(filter(['**/*.css']))
    .pipe(concat('v.css'))
    .pipe(cleanCss({debug: true}))
    .pipe(gulp.dest(config.paths.build + '/styles'));

var a= gulp.src(config.paths.src + '/**/*.css')
    .pipe(concat('a.css'))
    .pipe(cleanCss({debug: true}))
    .pipe(gulp.dest(config.paths.build + '/styles'));

return merge(v, a);
});

这是由您的代码中的变量 bowerFiles 引起的。

bowerFiles = require('main-bower-files');

出于某种原因,它没有从您安装的 bower 包中找到所需的 css 文件。由于错误说明了 JSON,我猜你的 Bower 配置文件 .bowerrc 有问题。仔细检查它指向的 bower 目录是否正确。查看此 link 以获取有关 .bowerrc 文件的更多信息。