2017-06-08 13 views
1

私はgulpが新しく、 'gulp-strip-code'と 'webpack-stream'を使ってテスト用テストコードを除外するためのgulpレシピを設定する方法を理解しようとしています。Gulp - テストコードを除外してからwebpackモジュール

テスト目的のために、私はファイルを縮小していません。

gulp.task('strip-test-code', function(){ 
    return gulp.src(['src/*.js','src/gui/*.js'],{base:'src'}) 
    .pipe(stripCode({ 
     start_comment: "start-test-block", 
     end_comment: "end-test-block" 
    })); 
}); 

gulp.task('pack-strip',['strip-test-code'],function(){ 
    return gulp.src(['src/*.js','src/gui/*.js'],{base:'src'}) 
    .pipe(webpack(require('./webpack.config.devel.js'))) 
    .pipe(gulp.dest('dist/')); 
}); 

私がgulp pack-stripを実行すると、まだバンド内にテスト用のBockタグが表示されます。

ストリップテストコードが実行されているようです。

[10:26:57] Using gulpfile ~/project/gulpfile.js 
[10:26:57] Starting 'strip-test-code'... 
[10:26:57] Finished 'strip-test-code' after 71 ms 
[10:26:57] Starting 'pack-strip'... 
[10:26:58] Version: webpack 1.15.0 
       Asset Size Chunks    Chunk Names 
project.bundle.js 141 kB  0 [emitted] project 
[10:26:58] Finished 'pack-strip' after 396 ms 

は、しかし、実行後、私はテストブロック

grep -r start-test-block * 
dist/project.bundle.js: /*start-test-block*/ 

--- EDITをgrep ---

マイWebPACKの設定ファイルは

1 const path=require('path'); 
2 module.exports={ 
3 context:path.resolve(__dirname,'src'), 
4 entry:{ 
5  project:['./project.js'] 
6 }, 
7 output:{ 
8  path:path.resolve(__dirname,'dist'), 
9  filename:'[name].bundle.js' 
10 }, 
11 devtool:"#inline-source-map" 
12 }; 

答えて

0

のようなタスクに見えるpack-stripタスクstrip-test-codeでストリームリターンを使用していない場合は、それらを組み合わせて1つのタスク:

gulp.task('task', function(){ 
    return gulp.src(['src/*.js','src/gui/*.js'],{base:'src'}) 
     .pipe(stripCode({ 
      start_comment: "start-test-block", 
      end_comment: "end-test-block" 
     })) 
     .pipe(webpack(require('./webpack.config.devel.js'))) 
     .pipe(gulp.dest('dist/')); 
}); 

それとも、まず取り除かファイルを保存して後で読むことができる:

gulp.task('strip-test-code', function(){ 
    return gulp.src(['src/*.js','src/gui/*.js'],{base:'src'}) 
     .pipe(stripCode({ 
      start_comment: "start-test-block", 
      end_comment: "end-test-block" 
      })); 
      .pipe(gulp.dest('dist')); 
}); 

gulp.task('pack-strip',['strip-test-code'],function(){ 
    return gulp.src(['dist/*.js','dist/gui/*.js'],{base:'dist'}) 
     .pipe(webpack(require('./webpack.config.devel.js'))) 
     .pipe(gulp.dest('dist/')); 
}); 
+0

私はオプション1を行うことを好むだろうが、動作するようには思えません。オリジナルを取り上げているwebpack.config.devel.jsスクリプトが原因でしょうか? – Wanderer

+0

gulpでwebpackを使用している場合は、webpack設定ファイルで 'entry'を定義する必要はありません – MarkoCen

+0

エントリポイントを削除すると、バンドル名が変更されました。そして、複数のエントリーポイントを許すようには思われません。 – Wanderer

関連する問題