2017-01-13 4 views
0

내 프로젝트의 일부 자바 스크립트 파일을 연결하고 축소하는 스크립트를 작성했습니다. Visual Studio 2015와 Power-shell을 모두 사용하여 실행하면 결국 오류 메시지가 나타납니다. 스크립트 및 오류 메시지에 대해서는 첨부 된 스크린 샷을 참조하십시오.node.js 파일과 꿀풀 충돌을 사용하여 병합 및 축소

내 생각에 따르면 오류 메시지에 따르면, 오류는 node.js 파일과 관련되어 있지만 Node.js에 대한 참조를 'Layout.cshtml'에 포함하지 않았기 때문에 발생할 수없는 오류이기 때문에 스크립트는 node.js 파일을 연결/축소하려고 시도합니다. '.

누군가 내가 저지른 실수를 설명해주십시오.

Error message

+1

이미지를 텍스트 대신 이미지로 게시하면 코드와 실험을 가지고 놀기가 매우 어렵습니다. 자비를 베푸십시오. 사람들이 모두 손으로 다시 타이핑하게하지 마십시오. :) –

답변

1

/// <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() { });
이 오류

은 당신의 minify 작업에서 Uglify에 의해 발생되고있다. 작동중인 JavaScript 코드를 올바르게 구문 분석 할 수 없다는 메시지가 표시됩니다. 즉, Scripts/all.js 파일에 SyntaxError이 있습니다.

Uglify가 이와 같은 낮은 품질의 오류를주는 것은 불행한 일입니다. 그 파일을 가져 가서 ESLint과 같은 linter를 통해 실행하는 것이 좋습니다. 정확히 SyntaxError이 파일 내에있는 곳을 알려주는데 좋은 일을합니다. 이것은 툴체인에서 중요한 단계이며, 가능한 한 빨리 (빌드 된 코드가 아닌 모듈 수준에서) 수행되어야합니다.