In Gulp, sto cercando di compilare TypeScript, concatenarlo, quindi eseguirlo tramite Browserify per gestire lo require
s (quindi ugolare dopo se in modalità produzione).Come utilizzare uno stream come input per Browserify?
This sample code è il più vicino che ho trovato a quello che sto cercando di fare, tuttavia utilizza un file intermedio. Preferisco piuttosto mantenere le cose nello stream per evitare il sovraccarico del file dell'intermediario, se possibile.
Poiché Browserify genera uno stream, sembra che debba sapere anche come accettarne uno.
Il codice rilevante:
var gulp = require('gulp');
var browserify = requ
var concat = require('gulp-concat');
var sourcemaps = require('gulp-sourcemaps');
var transform = require('vinyl-transform');
var typeScript = require('gulp-typescript');
gulp.task('scripts', function() {
return gulp.src([mySrcDir,'typings/**/*.d.ts'])
.pipe(sourcemaps.init())
.pipe(typeScript(typeScriptProject))
.pipe(concat('main.js'))
.pipe(transform(function (filename) {
return browserify(filename).bundle();
}))
.pipe(sourcemaps.write())
.pipe(gulp.dest(ns.outDir))
// Reload, notify...
;
Il risultato:
Error: Cannot find module 'C:\path\to\project\root\src\main.js' in 'C:\path\to\project\root'
Quando Tralascio concatenazione, il risultato è lo stesso, se non con foobar.js
anziché main.js
dove foobar.ts
è uno dei file di input.
Un secondo tentativo
gulp.task('scripts', function() {
var stream = gulp.src([mySrcDir,'typings/**/*.d.ts'])
.pipe(sourcemaps.init())
.pipe(typeScript(typeScriptProject))
.pipe(concat('main.js'));
var bundleStream = ns.browserify(stream).bundle().on('error', errorHandler);
// and then...
un nuovo errore
C:\path\to\project\root\_stream_0.js:1
[object Object]
^
ParseError: Unexpected token
Quindi, nei file di origine non si dispone di un file di voce che avrebbe costruito un grafico delle dipendenze che incorpora il resto dei file, o hai un sacco di file di ingresso separati? – JMM
Sto provando a fare la stessa cosa. Se dobbiamo colpire il disco, siamo di nuovo in terra Grunt. Gulp è tutto sui flussi. Piacerebbe vedere questa risposta –