有一个gulp项目使用gulp.js文件,但我的项目是打字稿,所以我宁愿在打字稿中有一个gulp文件。有可能将这个过程分为两个步骤:I
1.手动将打字稿gulp文件转换为js,然后执行
2.致电gulp <some-task-name>
但这似乎并不是最佳的。有没有更好的方法
此?
答案 0 :(得分:2)
在Gulp中添加TypeScript支持的简单方法:
select convert(date,CAST(WEEK_DATE as nvarchar(220)), 120)
from z_fact
使用以下代码创建$ npm i -D ts-node typescript
:
gulpfile.ts
(或将您现有的import * as gulp from 'gulp';
gulp.task('default', () => console.log('default'));
重命名为Gulpfile.js
)
开始构建:
gulpfile.ts
输出应该类似于:
$ 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';
值。