2015-04-30 12 views
8

Używam jade jako silnika szablonów dla statycznej strony internetowej, więc nie używam żadnego ekspresowego serwera. Chciałbym zaimportować plik csv lub json, aby wczytać dane do mojego szablonu. Można to bardzo łatwo zrobić przy użyciu serwera ekspresowego, ale nie wiem, jak to zrobić bez niego.Import CSV/JSON w jaderze

jako rozwiązanie tymczasowe, załadować dane ręcznie tak:

- 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 
- } 

Zamiast szukam coś takiego:

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

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

Czy istnieje jakiś sposób, aby to zrobić w jadeitu ?

Dziękujemy

+0

Wymaganie jest zwykle spotykane w nodejach, ale istnieje kilka aplikacji innych firm, które rozszerzają tę możliwość na przeglądarkę, taką jak browserfyjs, ale nie jestem pewien, czy jade będzie miał dostęp do tych wtyczek, ponieważ nie są one użyteczne, dopóki kod nie trafi do klienta bok. jeśli jade jest zainstalowany na twoim serwerze, zakładam, że działa on jako rodzaj preprocesora, który w takiej sytuacji nie miałby dostępu do funkcji okna podczas kompilacji. nie jestem pewien o tym, ale jeśli używasz php do wywoływania jade kompilatora możesz pobrać csv w php parsować go do tablicy, a następnie przekazać jade. lub użyj JSON i przeprowadź jsona do jade – Snymax

+0

Widzę, że nie korzystasz z Express, ale czy używasz Node.js do obsługi szablonu? –

Odpowiedz

0

Z Jade Docs:

w węźle:

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 

gdzie miejscowi byłby to importowany obiekt.