Я использую пакет Bower Paper.js в проекте. Я использую Gulp для подготовки проекта для браузера. Однако есть некоторые символы, которые выглядят так в bower_components/paper/dist/paper-full.min.js:
\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec...
которые заканчиваются так после прохождения Gulp:
ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮ...
В результате консольная ошибка
Uncaught SyntaxError: Неверное регулярное выражение: ΊΌΎ-Ρ[Еще много странных символов] Диапазон не по порядку в классе символов
Вот соответствующий фрагмент моего файла gulp:
var gulp = require('gulp');
var stylus = require('gulp-stylus');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var browserify = require('browserify');
var reactify = require('reactify');
var source = require('vinyl-source-stream');
var jade = require('gulp-jade');
var nib = require('nib');
var del = require('del');
var cfg = require('./cfg.json');
var action = {
clean: function(cb){
del([
['./', cfg.dir.root.dev].join('')
], cb);
},
concatLibs: function(){
gulp.src([
'./bower_components/jquery/dist/jquery.min.js',
'./bower_components/react/react.js',
'./bower_components/when/es6-shim/Promise.js',
'./bower_components/lodash/lodash.min.js',
'./bower_components/postal.js/lib/postal.min.js',
'./bower_components/oboe/dist/oboe-browser.min.js',
'./bower_components/paper/dist/paper-full.min.js'])
.pipe(uglify())
.pipe(concat('lib.js'))
.pipe(gulp.dest(['./', cfg.dir.root.dev, cfg.dir.type.js].join('')));
},
...
Я изолировал проблему в этой части процесса:
.pipe(uglify()) // in the concatLibs action
То есть закомментирование этой строки не генерирует необычные символы и не приводит к ошибке консоли.
Метод uglify()
кажется каноническим, требуемым следующим образом: var uglify = require('gulp-uglify')
. Так в чем проблема? Почему uglify()
вызывает это?