Gulp 任务不是 运行 当 package.json 文件存在时
Gulp task not running when package.json file is present
我有以下 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 中的任务 运行 资源管理器。当我通过 npm cli
和 运行 任务安装所有依赖项时,一切都按预期进行。添加 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"
}
}
如果您使用 Visual Studio 创建一个 json 文件,那么它会添加一个 BOM(字节顺序标记),使其无效 JSON、npm install cannot read package.json
尝试使用记事本创建 package.json 文件。
我有以下 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 中的任务 运行 资源管理器。当我通过 npm cli
和 运行 任务安装所有依赖项时,一切都按预期进行。添加 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"
}
}
如果您使用 Visual Studio 创建一个 json 文件,那么它会添加一个 BOM(字节顺序标记),使其无效 JSON、npm install cannot read package.json
尝试使用记事本创建 package.json 文件。