【发布时间】:2016-03-16 16:42:01
【问题描述】:
尝试在 gulp/babelify/browserify 项目上执行源流时,我遇到了一个相当隐蔽的解析器错误。错误是:
stream.js:74
throw er; // Unhandled stream error in pipe.
^
Error: app.js.map: error: couldn't process source due to parse error
Unexpected token (1:10)
我的 gulp 配置如下:
var path = require('path');
var gulp = require('gulp');
var babelify = require('babelify');
var ngAnnotate = require('gulp-ng-annotate');
var browserSync = require('browser-sync');
var browserify = require('browserify');
var sourceMaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
var buffer = require('vinyl-buffer');
var source = require('vinyl-source-stream');
var $ = require('gulp-load-plugins')();
browserify({
//cache: {},
//packageCache: {},
// fullPaths: true,
debug: true,
entries: options.src + '/app/app.js',
paths: ['./src'],
extensions: [' ', 'js']
})
// .add(require.resolve('babel-polyfill'))
.transform(babelify.configure({
"presets": ["es2015"],
ignore: [
'/bower_components',
'/node_modules'
]
}))
.bundle()
// .on('error', util.log.bind(util, 'Browserify Error'))
.pipe(source('app.js'))
.pipe(buffer())
.pipe(sourceMaps.init({loadMaps: true}))
.pipe(uglify({mangle: false}))
.pipe(sourceMaps.write('./', {sourceRoot: './js'}))
.pipe(gulp.dest(options.tmp + '/serve/app'))
.pipe(ngAnnotate())
.pipe($.replace('__API_URL__', process.env['API_URL'] || 'http://devint.api.com'));
任何想法可能导致此错误?
【问题讨论】:
-
app.js的第 10 行是什么? -
实际报错对应app.js.map的第1行第10列。第 10 列对应于地图中的“来源”键。
-
在
uglify之前尝试通过ngAnnotate进行管道传输 -
这只是表示错误发生在流中,gulp 中的所有内容都是流
-
酷,修复了错误。您可以将其添加为答案并接受它,谢谢!
标签: gulp browserify babeljs