2017-05-16 13 views
0

私は2つの異なるJSバンドルを作成する必要があるtypescriptプロジェクトに取り組んでいます.1つはadminのバンドル、もう1つはすべてのバンドルです。私はgulp-typescriptからjsストリームを複製しようとしていましたが、バンドルに関連するファイルをフィルタリングしてストリームをマージし、ソースマップを書きました。ただし、タスクを実行した後は、バンドルは作成されません。複数のバンドルとソースマップを持つgulp-typescript

gulpfile.js

var config = { 
    src: { 
     ts:['./Content/Scripts/TypeScript/**/*.ts'] 
    }, 
    bundles: { 
     dashboard: [ 
      '**/Controller/Widgets/**/*.js', 
      '**/Services/Widgets/**/*.js' 
     ], 
     core: [ 
      '**/Common/**/*.js', 
      '**/Server/**/*.js', 
      '**/Controller/Search/**/*.js' 
     ] 
    } 
} 
gulp.task('build-ts', function() { 
    var tsResult = gulp.src(config.src.ts) 
     .pipe(srcMap.init()) 
     .pipe(tsProj()); 

    var bundleStreams = [ 
     tsResult.js 
      .pipe(clone()) 
      .pipe(filter(config.bundles.core)) 
      .pipe(concat(config.outFiles.bundles.core)), 
     tsResult.js 
      .pipe(clone()) 
      .pipe(filter(config.bundles.dashboard)) 
      .pipe(concat(config.outFiles.bundles.dashboard)) 
    ]; 
    return merge([    
     merge(bundleStreams)   
      .pipe(srcMap.write()) 
      .pipe(gulp.dest(config.dist.main)),  
     tsResult.dts 
      .pipe(concat(config.outFiles.typeDef)) 
      .pipe(gulp.dest(config.dist.main))  
    ]); 
}); 

package.json

{ 
    "devDependencies": { 
     "gulp": "^3.9.1", 
     "gulp-clone": "^1.0.0", 
     "gulp-concat": "^2.6.1", 
     "gulp-filter": "^5.0.0", 
     "gulp-sourcemaps": "^2.4.1", 
     "gulp-typescript": "^3.1.4", 
     "merge2": "^1.0.3", 
     "typescript": "2.2.1" 
    }, 
} 

注:ソースtypescriptですファイルは名前空間ではないモジュールを使用しています。

答えて

0

これは、各バンドルに必要なファイルだけをgulp.src()に提供することによって、バンドルをそれぞれ独立してコンパイルすることです。 typescriptコンパイラは、gulp.src()で提供しなかった必要なすべての依存関係を取得して、残りの処理を行います。

このアプローチでは、バンドルごとにコードが重複する可能性があります。それがあなたにとって問題であれば、私のアプローチは2つの異なるプロジェクトを作成することです(管理者用とそれ以外のもの用)。 2つのバンドルの間でコードを共有している可能性があります。その場合、この共有コードを持つ3番目のプロジェクトを作成します。

各プロジェクトは、独自のバンドルとそれぞれのソースマップを持つことができます。それぞれのプロジェクトを異なるnpmパッケージと考えることができます。

これは理想的には私がバックアップを持っているだけ呼び出す `一度tsc`が、その素敵なを好むだろう、提案をありがとうあなたが助け、 敬具、 jpsfs

+0

ことを願っています –

関連する問題