Сборка машинописи с помощью 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?