Проблема: в текущем проекте при запущенных вотчерах в 50% случаев изменение файлы выкидывает ошибку:
ENOENT: no such file or directory, stat '/home/username/PhpstormProjects/js/bd/src/ts/classes/bd/file_name.ts___jb_tmp___'
at Error (native)
Что это за постфикс `___jb_tmp___` я без понятия. Гугл ничего не находит. Поиск по node_modules - тоже.
Как вообще определить - в сторону какого плагина копать?
Зависимости:
"dependencies": {
"gulp": "^3.9.1",
"gulp-include-source": "0.0.5",
"gulp-livereload": "^3.8.1",
"gulp-minify": "0.0.10",
"gulp-plumber": "^1.1.0",
"gulp-sourcemaps": "^1.6.0",
"gulp-watch": "^4.3.5",
"ts-loader": "^0.8.2",
"typescript-extends": "^1.0.1"
},
"devDependencies": {
"browser-sync": "^2.12.3",
"typescript": "^1.9.0-dev.20160422",
"webpack": "^2.1.0-beta.6",
"webpack-stream": "^3.2.0"
}
Таск JS в gulp:
gulp.task('js', function() {
gulp.src('src/ts/bd.ts')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(webpack({
debug: true,
devtool: 'source-map',
module: {
loaders: [
{
test: /\.ts$/,
loader: 'ts-loader',
exclude: /node_modules/
}
]
},
output: {
filename: 'bd.js',
library: "LibraryName",
libraryTarget: "var"
},
plugins: [
new ProvidePlugin({
__extends: 'typescript-extends'
})
],
resolve: {
extensions: ['', '.ts', '.webpack.js', '.web.js', '.js'],
modulesDirectories: ['node_modules', '.']
}
}))
.pipe(minify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('dist/js/'))
.pipe(reload({stream: true}));
});
Вотчеры и сервер в Gulp
var config = {
server: {
baseDir: "./dist"
},
host: 'localhost',
port: 9005,
ui: {
port: 8080,
weinre: {
port: 9090
}
},
logPrefix: "prefix"
};
gulp.task('watch', function(){
watch('src/ts/**/**', function(event, cb) {
gulp.start('js');
});
watch('src/*.html', function(event, cb) {
gulp.start('html');
});
});
gulp.task('webserver', function () {
browserSync(config);
});