我知道,吞嚥需要乙烯源流才能正常工作,但有沒有簡單的方法來使用已經存在的乙烯基文件或json對象,而不是衆所周知的gulp.src只需要球體?如何使用對象列表作爲吞嚥源流
6
A
回答
6
經過多次研究,我沒有找到任何好的解決方案,所以我決定與你分享我的解決方案。
這個問題在2解決步驟
1:你需要你什麼都想要轉換爲管道在一口一個乙烯基文件。 這可以像這樣
const Vinyl = require('vinyl');
var vinyl = new Vinyl();
vinyl.cwd = '/';
vinyl.base = '/';
vinyl.path = '/yourfictivefilepath';
vinyl.contents = new Buffer(JSON.stringify(yourobject));
完成有關步驟的詳細信息:https://github.com/gulpjs/vinyl
2:從您的黑膠文件的創建流
我發現,這些步驟可重複和可使代碼更少可讀,所以我決定將這些步驟封裝在一個npm包中,爲你做到這一點。
1
由於一飲而盡使用乙烯基文件作爲輸入,實際上uses它的一些特性(如.base
)的,這是不可避免的產生乙烯的文件儘量使用一飲而盡的。所以我建議這個訪問實現自己的目標:
'use strict';
const gulp = require('gulp');
const header = require('gulp-header');//https://www.npmjs.com/package/gulp-header
gulp.task('default', function() {
gulp.src("a.json")//empty file
.pipe(header(JSON.stringify({a:1,b:2})))//inject your own content
.pipe(gulp.dest("dist/"))
});
創建一個空文件a.json
,並以此爲源。然後用gulp-header
注入自己的內容,然後用它做任何你想做的事情。
如果你想避免額外的文件(a.json),試試這個:
'use strict';
const gulp = require('gulp');
const transform = require('gulp-transform');
const rename = require("gulp-rename");
gulp.task('default', function() {
return gulp.src("./gulpfile.js")
.pipe(transform(() => JSON.stringify({a:1,b:2})))
.pipe(rename("a.json"))
.pipe(gulp.dest("dist/"))
});
相關問題
- 1. 吞嚥手錶並不總是工作
- 2. AdxStudio CrmEntityFormView吞嚥Microsoft.Xrm.Sdk.SaveChangesException
- 3. C++吞嚥錯誤
- 4. 禁用右括號吞嚥?
- 5. 運行吞嚥圖像時吞嚥錯誤
- 6. 如何停止吞嚥觸摸的UIScrollView
- 7. 吞嚥注入不能正常工作
- 8. 吞嚥手錶過快結束
- 9. 將grunt browserify任務轉換爲吞嚥
- 10. 如何使用節點重新填充吞嚥
- 11. Express和BrowserSync沒有吞嚥?
- 12. Redux佐賀,錯誤吞嚥
- 13. 吞嚥每個錯誤
- 14. 幫助安裝吞嚥
- 15. Heroku沒有運行吞嚥?
- 16. ASP.Net吞嚥404錯誤
- 17. 吞嚥模板緩存和使用HTML URL對話框
- 18. 如何使用嵌套的JSON對象數據作爲數據表列的源?
- 19. jqgrid作爲數據源的對象列表(帶有子對象)
- 20. 如何爲這種類型的腳手架設置吞嚥?
- 21. AWS應用ELB吞嚥5XX錯誤?
- 22. Android SeparatedListAdapter - 如何使用自定義對象作爲列表項?
- 23. 閱讀json與要求從吞嚥和關閉文件流
- 24. 如何使用對象屬性列表排序對象列表
- 25. 如何用shell_exec()觸發一個吞嚥任務?
- 26. Java:如何在吞嚥後調用以前的方法異常
- 27. 如何創建參數化和可重用的吞嚥任務
- 28. 單個吞嚥任務多個來源和目錄
- 29. 如何使用JSON對象作爲Jquery Autocomplete的源代碼?
- 30. Java流的對象列表