2015-06-16 40 views
1

我有以下Gulp任务:咕嘟咕嘟任务

var gulp = require('gulp'); 
var browserify = require('browserify'); 
var reactify = require('reactify'); 
var source = require('vinyl-source-stream'); 
var uglify = require('gulp-uglify'); 
var buffer = require('vinyl-buffer'); 
var derequire = require('gulp-derequire'); 

gulp.task('build-scripts', function() { 
    var b = browserify(); 
    b.transform(reactify); 
    b.add('./Scripts/app/app.js'); 

    return b.bundle() 
    .pipe(source('./Scripts/build/bundle.js')) 
    .pipe(derequire()) 
    .pipe(buffer()) 
    .pipe(uglify()) 
    .pipe(gulp.dest('.')) 

}); 

gulp.task('default', ['build-scripts']); 

我通过任务运行资源管理器在VS2013运行此。当我通过​​安装所有依赖项并运行任务时,一切都按预期工作。一旦我添加了package.json我收到以下错误:

\ReactAccordion\gulpfile.js" build-scripts 
[15:56:24] Using gulpfile ~\Documents\Visual Studio 2013\Projects\ReactAccordion\ReactAccordion\gulpfile.js 
[15:56:24] Starting 'build-scripts'... 
events.js:85 
     throw er; // Unhandled 'error' event 
      ^
Error: SyntaxError: Unexpected token  while parsing json file ReactAccordion\ReactAccordion\package.json 
    at ReactAccordion\node_modules\browserify\node_modules\module-deps\index.js:477:30 
    at fs.js:334:14 
    at FSReqWrap.oncomplete (fs.js:95:15) 
Process terminated with code 1. 

如果恢复软件包之后我从溶液中取出package.json文件,任务完成再罚款。我试过搜索,但无法找到报告的类似问题。从查看JS文件,一切看起来都很好。

这是我package.json文件:

{ 
    "name": "ReactAccordion", 
    "version": "1.0.0", 
    "private": true, 
    "dependencies": { 
     "react": "0.13.3" 
    }, 
    "devDependencies": { 
     "gulp": "3.9.0", 
     "browserify": "~10.2.4", 
     "reactify": "1.1.1", 
     "vinyl-source-stream": "1.1.0", 
     "gulp-uglify": "1.2.0", 
     "vinyl-buffer": "1.0.0", 
     "gulp-derequire": "2.1.0" 
    } 
} 

回答

1

如果您使用Visual Studio那么它将有一个BOM(字节顺序标记)添加到它,这使得它无效JSON,创建一个JSON文件npm install cannot read package.json

尝试使用记事本创建package.json文件。

+0

前一个想法。谢谢! –