2017-01-13 5 views
0

Я написал сценарий для concat и минимизации некоторых файлов java-скриптов в моем проекте. Когда я запускаю его, используя Visual Studio 2015 и Power-shell, он дает мне сообщение об ошибке в конце. Пожалуйста, см. Прилагаемый скриншот для сценария и сообщение об ошибке.Конкат и минимизировать использование конфликта gulp с файлом node.js

Согласно сообщению об ошибке моя идея; Сценарий пытается связать/минимизировать файлы node.js, потому что ошибка связана с файлом node.js, но этого не может быть, потому что я не включил ссылку на Node.js в «Layout.cshtml ».

Кто-то, пожалуйста, объясните мне ошибку, которую я совершил.

/// <vs /> 
 
// include plug-ins 
 
'use strict'; 
 
var gulp = require('gulp'); 
 
var concat = require('gulp-concat'); 
 
var htmlbuild = require('gulp-htmlbuild'); 
 
var plugins = require('gulp-load-plugins')(); 
 
var es = require('event-stream'); 
 
var clean = require('gulp-clean'); 
 
var uglify = require('gulp-uglify'); 
 
var ignore = require('gulp-ignore'); 
 

 
// pipe a glob stream into this and receive a gulp file stream 
 
var gulpSrc = function (opts) { 
 
    var paths = es.through(); 
 
    var files = es.through(); 
 
    paths.pipe(es.writeArray(function (err, srcs) { 
 
     var fixedFiles = []; 
 
     for (var i = 0; i < srcs.length; i++) { 
 
      fixedFiles[i] = srcs[i].replace("~", "."); 
 
      console.log(fixedFiles[i]); 
 
     } 
 
     gulp.src(fixedFiles, opts).pipe(files); 
 
    })); 
 
    return es.duplex(paths, files); 
 
}; 
 

 
var jsBuild = es.pipeline(
 
    plugins.concat('all.js'), 
 
    gulp.dest('./Scripts/') 
 
); 
 

 
gulp.task('clean', function() { 
 
    return gulp.src('./Scripts/all.js') 
 
      .pipe(clean({ force: true })); 
 
}); 
 

 
gulp.task('build', function() { 
 
    return gulp.src(['./Views/Home/Layout.cshtml']) 
 
    .pipe(htmlbuild({ 
 
     js: htmlbuild.preprocess.js(function (block) { 
 
      block.pipe(gulpSrc()) 
 
      .pipe(jsBuild); 
 
     }) 
 
    })); 
 
    process.stdout.write('build is done'); 
 
}); 
 

 
gulp.task('minify', function() { 
 
    return gulp.src(['./Scripts/all.js']). 
 
    pipe(uglify()). 
 
    pipe(gulp.dest('./testing')); 
 
}); 
 
gulp.task('default', ['clean', 'build', 'minify'], function() { });

Error message

+1

Публикация этих изображений вместо текста затрудняет нам игру с кодом и экспериментом. Помилуй, не заставляй людей переименовывать все это вручную. :) –

ответ

1

Эта ошибка броска Uglify в вашей minify задачи. Он говорит вам, что код JavaScript, на котором он работает, не может быть правильно проанализирован. Другими словами, в файле Scripts/all.js есть SyntaxError.

К сожалению, Uglify дает такую ​​ошибку низкого качества для этого. Я предлагаю вам взять этот файл и запустить его через linter, например ESLint. Это поможет вам показать вам, где именно находится файл SyntaxError. Это важный шаг в вашей инструментальной цепочке и должен быть сделан как можно раньше (на уровне модуля, а не на встроенном коде).