簡體   English   中英

如何使gulp-jade將'export'添加到生成的函數中?

[英]How do I make gulp-jade add 'export' to the generated function?

我使用Jade編寫所有HTML,並將它們保存在單獨的文件中,包括一些注入到jQuery中的小片段,作為對事件的響應。 這些位必須在client: true插入本地變量,因此我將gulp-jade與client: true一起使用,然后嘗試直接在Webpack中使用這些功能。

問題是我無法導入它們。 我主要使用ES6(通過babel-loader轉換),但是requireJS當然也可以工作。

我目前解決此問題的方法是永遠不會自動運行gulp-jade,而只有在進行更改時才手動運行它,然后在文件的開頭手動添加“ export”。

當然,這種方法有效,但是首先,我不記得運行gulp-jade,直到看到生成的錯誤為止;其次,每當我運行gulp-jade時,它都會覆蓋每個文件(即使更改了gulp),因此我必須為所有這些添加“導出”。

我沒有在Gulp之外使用Vinyl Streams的經驗,所以我不知道該怎么做,但是我知道我可以運行stream =+ 'export ' + stream ,但是最好有一個gulp-plugin識別源文件中的所有可導出元素,並根據ES6或RequireJS標准(取決於選項)將其導出。

看來這樣的事情應該存在,全面有用,但我找不到!

是否存在? 在等待比我聰明的人來創建它時,是否可以使用一種簡單的技巧?

最終成為解決方案,直接來自我的gulpfile:

gulp.task('jade: fix', ['jade: compile'], plugins.shell.task([
  'for file in *.js;do { printf \'export \'; cat $file; } >$file.new;mv $file.new $file;done'
], {cwd: process.cwd() + '/src/lib/nodes/templates'}));

plugins.shell.task = gulp-shell

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM