我有幾個打字稿文件,其中一些文件輸出某個var - 名爲APIS - 這是一個對象數組。 我想提取所有這些導出的值,並使用gulp將它們管到一個json文件中。使用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: - 不導出API的變種。
我想在奧得河用一口創建一個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'));
});
我是新來的兩個打字稿&一飲而盡,所以我不知道如何做到這一點...任何想法? :)
編輯:所以,我明白,這沒有OOTB解決方案,我需要編寫自己的任務/插件。雖然我不確定如何實現這一點。 理想情況下,我想要的是找到一個吞嚥插件(或插件的組合),可以將ts/js文件作爲具有屬性的對象處理。然後我可以從文件中提取我需要的變量。
我真的找不到像這樣的東西,只有字符串操作插件 - 對待我的ts文件作爲字符串和正則表達式使用搜索似乎對我來說過於複雜。有什麼我在這裏失蹤?有沒有更直接的方法來做到這一點?
出於好奇,你爲什麼要將打字稿編譯爲js並將其放入json文件中? – Grant
我不知道。我只是想從APIS變量中創建一個json文件。 – Ayelet
好的,你需要一個可以搜索你的ts文件並提取APIS常量的gulp插件,但是我不能想到一個可以用來做這件事的頭頂插件,你可能需要如果你確實需要這樣做來解決你目前的需求 – Grant