0

我有一个 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)

吞咽代码:

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);
});
4

1 回答 1

2

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

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

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

于 2017-04-24T15:08:40.410 回答