Сборка машинописи с помощью gulp-webpack

Есть тест-проект, его структура:

состав

это файлы * .ts:

////// greeter.ts
import {ActionsCollection} from "./actionsCollection";
class Greeter extends ActionsCollection{

}
var greeter = new Greeter();
alert(greeter.greet("Hello, world!"));

////// actionsCollection.ts

export class ActionsCollection{

    public say (){

    }

    public greet(greeting :string) {
        return "<h1>"+greeting+"</h1>";
    }
}

///// newTS.ts

export class NewTS{
    public foo (){
        return "<h1>foo</h1>";
    }
}

Это gulpfile:

var gulp = require('gulp');
var debug = require('gulp-debug');
var webpack = require('gulp-webpack');
gulp.task('default', function() {
    return gulp.src('ts/greeter.ts')
        .pipe(webpack({
            output: {
                filename: 'main.js'
            },
            resolve: {
                extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
            },
            module: {
                loaders: [
                    { test: /\.ts$/, loader: 'ts-loader' }
                ]
            }
        }))
        .pipe(debug({title:'src'}))
        .pipe(gulp.dest('js/'));
});

gulp.task('watch', ['default'], function() {
    gulp.watch('ts/**/*.ts', ['default']);
});

Все это он скомпилирован в один файл main.js, но компиляция работает странным образом. Например, когда я изменился actionsCollection.ts файл, компиляция не всегда запускается. И если я создам новый new.ts файл, и если не было импортировать его в течение greeter.ts или же actionsCollection.tsтогда он не попадет в общий файл - main.js, Это плохо, потому что такие файлы существуют и их методы могут вызываться неявно.

Как правильно поступить? Вы можете помочь мне отредактировать мой файл gulpfile?

0 ответов

Другие вопросы по тегам