2016-01-05 69 views
0

我正在尋找一個預分析的ractiveJS模板系統,我想知道它是否值得這項工作。如何跟蹤RactiveJS解析模板的時間?

據我所見,模板直到實際呈現時纔會被解析,這很聰明,但我猜如果它是一個大模板,我會得到更大的解析時間,所以,我怎樣才能跟蹤?或者,如果它不是工作跟蹤,發送已解析的性能是否會提高性能?

問,因爲我現在在NodeJS上,而且它很容易使用gulp並在服務器啓動時解析它們。

+0

個人而言,我懷疑解析是一個瓶頸。它通常與頁面的「佈局」時間相比顯得蒼白無力。 – dagnelies

回答

1

您可以Ractive.parse(template)手工分析模板:

var start = window.performance.now(); 
 
var parsed = Ractive.parse(` 
 
    <h1>Hello {{name}}!</h1> 
 
    <p>We're using Ractive.js version {{version}}. This template was parsed in {{time.toFixed(2)}}ms</p> 
 
`); 
 
var time = window.performance.now() - start; 
 

 
var ractive = new Ractive({ 
 
    el: 'main', 
 
    template: parsed, 
 
    data: { 
 
    name: 'world', 
 
    version: Ractive.VERSION, 
 
    time: time 
 
    } 
 
});
<script src='http://cdn.ractivejs.org/edge/ractive.js'></script> 
 
<main></main>

解析的模板比非解析模板(大一般約爲30-40%)放大一點點,所以這是一個與貿易少工作,更多字節。 FWIW我總是預先分析我的模板。

+0

我剛剛發現我可以在多行字符串中使用波形曲線(儘管我並不經常使用它們) – Eduard