Gulp'de, TypeScript'i derlemeye çalışıyorum, onu birleştirmeye çalışıyorum, sonra da require
s işlemek için Browserify üzerinden çalıştırın (sonra üretim modunda sonra çirkin.).Browserify için giriş olarak bir akış nasıl kullanılır?
This sample code Ne yapmaya çalıştığımı bulduklarıma en yakın olanıdır, ancak aracı bir dosya kullanır. Mümkünse, ara dosya yükünü ortadan kaldırmak için işleri akışa almayı tercih ederim.
Browserify bir akış yayınladığından, bir tanesinin nasıl kabul edileceğini bilmesi gerektiği gibi görünüyor.
ilgili kodu:
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...
;
sonucu: foobar.ts
biridir ben birleştirme atladığınızda
Error: Cannot find module 'C:\path\to\project\root\src\main.js' in 'C:\path\to\project\root'
, sonuç foobar.js
yerine main.js
haricinde aynı olan giriş dosyaları.
ikinci girişimi
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...
Yeni hatası
C:\path\to\project\root\_stream_0.js:1
[object Object]
^
ParseError: Unexpected token
dosyaların geri kalanını içeren bir bağımlılık grafiği kuracağına bir giriş dosyası var mı, ya da ayrı giriş dosyalarınız mı var? – JMM
Aynı şeyi yapmaya çalışıyorum. Diske vurmamız gerekirse, Grunt arazisine geri döndük. Gulp tüm akarsularla ilgili. Bunun cevaplandığını görmek isterim. –