gpt4 book ai didi

javascript - 使用 gulp 将 typescript 导出提取到 json 文件

转载 作者:行者123 更新时间:2023-12-03 07:05:32 26 4
gpt4 key购买 nike

我有几个 typescript 文件,其中一些导出某个名为 APIS 的变量,它是一个对象数组。我想提取所有这些导出的值,并使用 gulp 将它们通过管道传输到 json 文件。

例如,我有一个名为 services 的文件夹,其中包含 3 个文件:service1.ts、service2.ts、service3.ts。

service1.ts:

...
export const APIS = [ { "field1" : "blabla" } ];

service2.ts:

...
export const APIS = [ { "field2" : "yadayada" }, { "field3" : "yadabla" } ];

service3.ts: - 不导出 APIS 变量。

我想使用 gulp 创建一个如下所示的 json 文件:

[ { "field1" : "blabla" }, { "field2" : "yadayada" }, { "field3" : "yadabla" } ]

gulpfile.js - ???是缺失代码的占位符。

gulp.task('default', function () {
return gulp.src('.../services/*.ts')
.pipe(???)
.pipe(concat('export.json'))
.pipe(gulp.dest('./test'));
});

我对 typescript 和 gulp 都很陌生,所以我不确定如何实现这一目标......有什么想法吗? :)

编辑:所以,我知道这个问题没有 OOTB 解决方案,我需要编写自己的任务/插件。不过,我不太确定如何实现这一目标。理想情况下,我想要的是找到一个 gulp 插件(或插件组合),可以将 ts/js 文件作为具有属性的对象进行处理。然后我可以从文件中提取我需要的var。

我真的找不到类似的东西,只有字符串操作插件 - 将我的 ts 文件视为字符串并使用正则表达式进行搜索对我来说似乎过于复杂。我在这里缺少什么吗?有没有更直接的方法来做到这一点?

最佳答案

typescript compiler API在这里相关,因为这是您正确解析和理解 ts 代码所需的。不幸的是,我认为没有一个 gulp 插件可以实现这个 API。

我认为你最好的选择是在这里完全改变策略并以另一种方式解决你的问题,或者使用正则表达式来尝试提取你想要的常量。除非你想使用编译器 API 编写自己的 gulp-plugin。

关于javascript - 使用 gulp 将 typescript 导出提取到 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36843151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com