2017-01-13 5 views
0

私のプロジェクトでは、いくつかのJavaスクリプトファイルを連結して縮小するスクリプトを作成しました。 Visual Studio 2015とPower-shellの両方を使用して実行すると、最後にエラーメッセージが表示されます。スクリプトとエラーメッセージについては、添付のスクリーンショットを参照してください。gulpとnode.jsファイルとの競合を使用して連結および縮小します

私の考えはエラーメッセージによると、 エラーはnode.jsファイルに関連していますが、Node.jsへの参照がLayout.cshtmlに含まれていないために発生しないため、スクリプトはnode.jsファイルを連結/縮小しようとします'

私がした間違いを教えてください。

/// <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

このエラーは、あなたのminifyタスク内Uglifyによってスローされています。操作中のJavaScriptコードを正しく解析できないことが伝えられています。つまり、ファイルScripts/all.jsSyntaxErrorがあります。

Uglifyがこのような低品質エラーをもたらすのは残念です。あなたはそのファイルをとり、ESLintのようなリンターを通して実行することをお勧めします。ファイル内に正確にSyntaxErrorがどこにあるかを示す際にはうまく機能します。これはツールチェーンの重要なステップであり、可能な限り早く(ビルドコードではなくモジュールレベルで)実行する必要があります。

関連する問題