2015-04-30 17 views
8

Sto usando jade come motore di template per un sito web statico, quindi non sto usando alcun server express. Vorrei importare un file CSV o JSON per caricare i dati nel mio modello. Può essere fatto facilmente usando un server express ma non so come farlo senza uno.Import CSV/JSON in giada

Come soluzione temporanea, io caricare i dati manualmente in questo modo:

- var arr = [] 
- arr.push(['hello', 'world', 'foo', 'bar']) 
- arr.push(['hello1', 'world1', 'foo1', 'bar1']) 
- arr.push(['hello2', 'world2', 'foo2', 'bar2']) 
- arr.push(['hello3', 'world3', 'foo3', 'bar3']) 
- arr.push(['hello4', 'world4', 'foo4', 'bar4']) 

- for (var i; i < arr.length; ++i) { 
    div 
    h1=arr[i][0] 
    // some more jade 
- } 

Invece, sto cercando qualcosa di simile:

- var arr = require('./data.csv') 

- for (var i; i < arr.length; ++i) { 
    div 
    h1=arr[i][0] 
    // some more jade 
- } 

Esiste un modo per fare questo in giada ?

Molte grazie

+0

in genere si trova in nodejs tuttavia ci sono un paio di app di terze parti che estendono questa capacità al browser come browserfyjs tuttavia non sono sicuro se jade avrà accesso a quei plugin in quanto non sono utilizzabili fino a quando il codice non colpisce il client lato. se jade è installato sul tuo server, presumo che sia in esecuzione come una sorta di preprocessore che in quella situazione non avrebbe accesso alle funzioni della finestra su Compile. Non sono sicuro di questo, ma se usi php per chiamare il compilatore di giada puoi ottenere il csv in php analizzarlo su un array e poi passarlo a jade. o usa JSON e passa il json a jade – Snymax

+0

Vedo che non stai usando Express, ma stai usando Node.js per servire il modello? –

risposta

0

Dal Jade Docs:

In Nodo:

var list = require('./list.json'), 
    jade = require('jade'); 

// Compile a function 
var fn = jade.compileFile('./index.js', options); 

// Render the function 
var html = fn(list); 

// serve html response however you currently serve rendered jade 

dove i locali sarebbero l'oggetto importato.