如何为配置Gulp,typescript实时重载express
How to configure Gulp for, typescript live-reload express
我正在尝试创建以下工作流:
- 监视文件更改
- 编译TypeScript,完成后:
- 重新启动Express应用程序,完成后:
- LiveReload浏览器
这是我目前的方法:
gulp.task('default', function() {
//1. run your script as a server
var server = gls.new('./bin/www');
server.start();
gulp.watch('./**/*.js', function(file) {
var promise = server.start.bind(server)(); //restart my server
promise.then(function(result) {
console.log("restarted!");
setTimeout( function() {
server.notify.apply(server, [file]);
}, 500);
});
});
});
这一直工作到console.log("重新启动!")
我添加了setTimeout,因为重新加载将在服务器启动之前发生。但有了它,什么都不会发生,根本不会重新加载。
编辑
这里是我的第一个工作解决方案:
var gulp = require('gulp'),
nodemon = require('gulp-nodemon'),
livereload = require('gulp-livereload'),
ts = require('gulp-typescript');
var tsProject = ts.createProject('tsconfig.json');
gulp.task('typescript', function() {
console.log('Compiling TypeScript');
var tsResult = tsProject.src({base: './'})
.pipe(ts(tsProject));
return tsResult.js.pipe(gulp.dest('./'));
});
gulp.task('serve', ['typescript'], function () {
gulp.watch('./**/*.ts', ['typescript']);
livereload.listen();
nodemon({
script: './bin/www',
ext: 'js',
}).on('restart', function () {
setTimeout(function () {
console.log("reload!");
livereload.reload();
}, 500);
});
});
但我仍然很想摆脱那个丑陋的setTimeout。
奖金问题有没有可能在没有Gulp的情况下,只使用一个Shell脚本来解决同样的问题?与命令行TSC命令相比,gump版本需要很长时间才能编译。
编译typescript和tsx(react jsx),浏览,缩小捆绑包,并在前端更改时重新加载浏览器。
将typescript编译为js,重新启动服务器,并在后端更改时重新加载浏览器。
Gulp 4 Typescript+React+JSX+Browserify+Seperate Frontend Watch+Nodemon+Livereload
这就是你所需要的。
gullfile.js.
干杯,武士刀。
相关文章:
- 使用Facebook live API创建实时视频对象时的隐私设置
- Foreach无法在Typescript中工作
- 有任何可能将facebook实时信使整合到一个网站中
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 为什么无法在TypeScript中导出类实例
- 如何将TypeScript对象转换为普通对象
- Angular 2.0 with JavaScript or TypeScript?
- 标记的实时更新,无需加载页面谷歌地图API V3
- 使用javascript进行实时图像处理
- "实例范围”;TypeScript类的getter/setter
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 从HTML调用typescript文件中的函数
- 如何将js库与typescript一起使用
- 理解typescript中的构造函数接口
- 在gump和nodejs中使用Typescript时,未定义对require和exports的引用
- 如何在jquery中使用实时计算求和值
- Typescript导入导出的类会发出require(..),从而导致浏览器错误
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- Typescript angularjs$http获取响应类型(避免使用<any>)
- 如何为配置Gulp,typescript实时重载express