如何使用打字稿文件运行gulp

时间:2018-04-15 23:54:49

标签: javascript typescript configuration compilation gulp

有一个gulp项目使用gulp.js文件,但我的项目是打字稿,所以我宁愿在打字稿中有一个gulp文件。有可能将这个过程分为两个步骤:I  1.手动将打字稿gulp文件转换为js,然后执行  2.致电gulp <some-task-name>

但这似乎并不是最佳的。有没有更好的方法     此?

3 个答案:

答案 0 :(得分:2)

在Gulp中添加TypeScript支持的简单方法:

  1. 安装ts-nodetypescript

    select convert(date,CAST(WEEK_DATE as nvarchar(220)), 120) 
    from z_fact
    
  2. 使用以下代码创建$ npm i -D ts-node typescript

    gulpfile.ts

    (或将您现有的import * as gulp from 'gulp'; gulp.task('default', () => console.log('default')); 重命名为Gulpfile.js

  3. 开始构建:

    gulpfile.ts
  4. 输出应该类似于:

    $ gulp
    

答案 1 :(得分:1)

在项目的根目录中设置一个gulp.js文件,只有以下行。

eval(require('typescript').transpile(require('fs').readFileSync("./gulp.ts").toString()));

然后在文件gulp.ts中创建另一个用typescript编写的实际gulp文件。会发生的是gulp.js文件将被加载,但会通过编译你的`gulp.ts'文件并传递转换后的结果来引导过程。

这使我们不必在使用之前预编译gulp.ts文件。相反,您只需键入gulp test即可从tyepscript文件中执行,而无需任何额外的调用。

  • 请务必先运行以下内容:
    npm install typescript --save-dev
    npm install fs --save-dev

答案 2 :(得分:0)

万一其他人遇到这种情况,@ tony19的上述答案仅对某些项目有效;-)

render() { if (this.state.login) { return <Redirect to='/home' /> } const { classes } = this.props; return ( <MuiThemeProvider theme={theme}> ...jsx... </MuiThemeProvider> ); } 并不总是有效(这取决于您的tsconfig.json设置,尤其是import * as gulp from 'gulp';),使用的“更安全”的东西是allowSyntheticDefaultImports,无论import gulp from 'gulp';值。