我使用grunt-template
和我讀一個文件,這樣的說法:咕嚕讀取替代文件模板
<%= grunt.file.read("someFile.js") %>
現在我需要做一些文本替換在someFile.js
。我怎樣才能以一種理智的方式實現這一目標?我可以爲此定義一個自己的函數嗎?
我使用grunt-template
和我讀一個文件,這樣的說法:咕嚕讀取替代文件模板
<%= grunt.file.read("someFile.js") %>
現在我需要做一些文本替換在someFile.js
。我怎樣才能以一種理智的方式實現這一目標?我可以爲此定義一個自己的函數嗎?
grunt.template
將全部從<%=
替換爲%>
。 因此使用<%= grunt.file.read("someFile.js") %>
模板將替換所有文件內容。 最好通過node.js通過fs.readFileSync
讀取文件同步,替換它中的內容並使用writeFileSync
保存更改。
它可能不是你在尋找什麼,但你可以做到這一點使用步兵預處理:
https://github.com/jsoverson/grunt-preprocess
在這種情況下:
var configValue = '/* @echo FOO */';
/* @echo FOO * /將被替換爲在Gruntfile中定義的FOO值。
我對此有點困惑,應該如何將它應用於我的用例? –
也許它不適合你的用例,但是你把/ * @echo */vars放到你想要修改它的JS文件中(例如,針對不同的服務器環境),並用適當的變量替換咕嚕的任務 – imcg
啊,我現在看到了,不幸的是我不能用這種方式。不管怎麼說,還是要謝謝你 –
是不是'grunt.file.read'已經同步?我猜是這樣。我發現'grunt.file.read('file.js')。replace('foo','bar')'在模板語法內工作,但這不是一個真正的解決方案,因爲我沒有想用這個污染我的模板。 –