本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2017/01/02/create-node-typescript-project/
最近开始学习typescript,首先要解决的就是创建一个项目,功能也不要求太多,必须要什么特别的功能,只是需要ts编译,文件变动监控,最好带一个tslint。
一般的套路自然是用yeoman,找了一圈,很多generator要不就是几年不维护,要不就是功能太多,最后选择的是generator-node-typescript。生成带gulp的项目,结构如下:
这个脚手架生成出来的项目自带了tslint,也有自动监控变动的编译,总的来说能够用。
但是我还有两个需求,一个是能够自动运行生成出来的脚本,这个运行本身能够自动重启,第二个是能够在开发阶段跳过tslint,开发阶段代码比较随意,很多实验性的,tslint很难过,还要兼顾两头去修复。
第一个自动运行的需求可以用nodemon 它一方面可以将程序的输出打在console里面,一方面可以自动监控择机重启。
var nodemon = require('gulp-nodemon'); gulp.task('run', ['watch'], function () { nodemon({ script: 'lib/index.js', watch: 'lib/' }) });
第二个需求可以用gulp-mode,定义两种模式,一种是dev,一种是prod。而tslint只在prod环境运行。也就是gulp --prod
var mode = require('gulp-mode')({ modes: ["prod", "dev"], default: "dev", verbose: false }); gulp.task('lint', 'Lints all TypeScript source files', function () { return gulp.src(tsFilesGlob) .pipe(tslint({ tslint: tslintCustom, formatter: 'verbose' })) .pipe(mode.prod(tslint.report())); });
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2017/01/02/create-node-typescript-project/