我使用Rhino作爲Ant構建過程的一部分來捆綁和縮小JavaScript。除此之外,我還希望預編譯客戶端模板,即將其從標記編譯爲JavaScript。乍看之下,我認爲犀牛的serialize()方法會做到這一點,但似乎並非如此。如何使用Rhino shell將JavaScript代碼序列化爲文件?
// Load templating engine
load("engine.js");
// Read template file
var template = readFile("foo.template"),
// Compile template
compiled = engine.compile(template);
// Write compiled template to file
serialize(compiled, "compiledFoo.js");
這會導致寫入二進制文件。我想要的是一個包含編譯模板的文本文件。
如果使用serialize()不是答案,那麼是什麼?既然是Rhino,那麼也可以導入Java類。不速之客,我無法想出辦法做到這一點。
我知道這可以在Node中完成,但我現在無法將構建過程從Ant-Rhino遷移到Grunt-Node。
序列化是把你的編譯模板的狀態,並堅持到一個文件中(我們只是在談論這裏的字節 - 因此你的二進制文件的結果) 。 JavaScript代碼的縮小是完全不同的。 –
正確,但我期待堅持一個文本文件,而不是二進制文件。調用'engine.compile(template);'將帶有模板標籤的標記(即HTML)轉換爲JavaScript對象或函數,具體取決於模板引擎。我想把它寫到一個JavaScript文件中並直接使用它。否則,我需要在客戶端編譯模板。 –